<?xml version="1.0"?>
<doc>
    <assembly>
        <name>TestApiCore</name>
    </assembly>
    <members>
        <member name="T:Microsoft.Test.Text.RegexNode">
            <summary>
            Base class for regex elements.
            </summary>
        </member>
        <member name="T:Microsoft.Test.Text.RangePropertyCollector">
            <summary>
            Collect data according to name and save to PropertyData list
            </summary>
        </member>
        <member name="M:Microsoft.Test.Text.RangePropertyCollector.GetUnicodeChartRange(Microsoft.Test.Text.UnicodeRangeDatabase,Microsoft.Test.Text.UnicodeChart)">
            <summary>
            Get Unicode range according to Unicode chart provided
            </summary>
        </member>
        <member name="M:Microsoft.Test.Text.RangePropertyCollector.GetRange(Microsoft.Test.Text.UnicodeRange,Microsoft.Test.Text.UnicodeRange)">
            <summary>
            Get new range - if expectedRange is smaller, new range is expectedRange. Otherwise, return false
            </summary>
        </member>
        <member name="M:Microsoft.Test.Text.RangePropertyCollector.BuildPropertyDataList(Microsoft.Test.Text.UnicodeRangeDatabase,Microsoft.Test.Text.UnicodeRange,System.Collections.Generic.List{Microsoft.Test.Text.UnicodeRangeProperty},System.String,Microsoft.Test.Text.GroupAttributes)">
            <summary>
            Walk through Unicode range database to build up property according to Group attribute
            </summary>
        </member>
        <member name="T:Microsoft.Test.ObjectComparison.GraphNodeTuple">
            <summary>
            Represents a helper (<see cref="T:Microsoft.Test.ObjectComparison.GraphNode"/> x <see cref="T:System.Boolean"/>) tuple 
            used by <see cref="T:Microsoft.Test.ObjectComparison.PublicPropertyObjectGraphFactory"/>.
            </summary>
            <remarks>
            This type can be replaced by a BCL tuple type, when TestApi is migrated to .NET 4.0.
            </remarks>
        </member>
        <member name="M:Microsoft.Test.ObjectComparison.GraphNodeTuple.#ctor(Microsoft.Test.ObjectComparison.GraphNode,System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:Microsoft.Test.ObjectComparison.GraphNodeTuple"/> struct.
            </summary>
            <param name="node">The graph node.</param>
            <param name="createdExternally">Whether the graph node was created externally.</param>
        </member>
        <member name="P:Microsoft.Test.ObjectComparison.GraphNodeTuple.Node">
            <summary>
            Gets the graph node.
            </summary>
        </member>
        <member name="P:Microsoft.Test.ObjectComparison.GraphNodeTuple.CreatedExternally">
            <summary>
            Gets a value indicating whether the node was created externally.
            </summary>
        </member>
        <member name="T:Microsoft.Test.ObjectComparison.GraphNode">
            <summary>
            Represents one node in the object graph.
            The root of the graph is a graph node.
            </summary>
        </member>
        <member name="M:Microsoft.Test.ObjectComparison.GraphNode.GetNodesInDepthFirstOrder">
            <summary>
            Performs a depth-first traversal of the graph with 
            this node as root, and provides the nodes visited, in that
            order.
            </summary>
            <returns>Nodes visited in depth-first order.</returns>
        </member>
        <member name="P:Microsoft.Test.ObjectComparison.GraphNode.Name">
            <summary>
            A name to identify this node. When comparing,
            the left and right nodes are matched by name.
            </summary>
        </member>
        <member name="P:Microsoft.Test.ObjectComparison.GraphNode.Children">
            <summary>
            Gets the collection of child nodes to this
            node. The child nodes represent properties or
            fields on an object.
            </summary>
        </member>
        <member name="P:Microsoft.Test.ObjectComparison.GraphNode.Parent">
            <summary>
            Represents the immediate parent to this node.
            The parent node of the root of the graph is null. 
            </summary>
        </member>
        <member name="P:Microsoft.Test.ObjectComparison.GraphNode.ObjectValue">
            <summary>
            Contains the value of the object represented by
            this node.
            </summary>
        </member>
        <member name="P:Microsoft.Test.ObjectComparison.GraphNode.ObjectType">
            <summary>
            Provides the System.Type of the object represented by 
            this node. Returns null if the object value is null.
            </summary>
        </member>
        <member name="P:Microsoft.Test.ObjectComparison.GraphNode.Depth">
            <summary>
            Gets the depth of this node from the root. If the depth of
            the root node is 0, root.child is 1.
            </summary>
        </member>
        <member name="P:Microsoft.Test.ObjectComparison.GraphNode.QualifiedName">
            <summary>
            Gets the fully qualified name of this node
            If the root node has a child that is named child1 and the child
            has another child that is named child12, qualified name of child12
            would be root.child1.child12.
            </summary>
        </member>
        <member name="P:Microsoft.Test.ObjectComparison.GraphNode.ComparisonStrategy">
            <summary>
            Gets a comparison strategy for the currect graph node.
            </summary>
            <remarks>
            The comparison strategy is attached by an object graph factory
            to a node if it needs some special comparison algorithm.
            If no comparison strategy is attached, then the default 
            comparison is performed.
            </remarks>
        </member>
        <member name="M:Microsoft.Test.Input.NativeMethods.ClientToScreen(System.IntPtr,System.Drawing.Point@)">
            <summary>Converts the client-area coordinates of a specified point to screen coordinates.</summary>
            <param name="hwndFrom">Handle to the window whose client area is used for the conversion.</param>
            <param name="pt">POINT structure that contains the client coordinates to be converted.</param>
            <returns>true if the function succeeds, false otherwise.</returns>
        </member>
        <member name="T:Microsoft.Test.Input.NativeMethods.INPUT">
            <summary>
            The INPUT structure is used by SendInput to store information for synthesizing input events such as keystrokes, mouse movement, and mouse clicks. (see: http://msdn.microsoft.com/en-us/library/ms646270(VS.85).aspx)
            Declared in Winuser.h, include Windows.h
            </summary>
            <remarks>
            This structure contains information identical to that used in the parameter list of the keybd_event or mouse_event function.
            Windows 2000/XP: INPUT_KEYBOARD supports nonkeyboard input methods, such as handwriting recognition or voice recognition, as if it were text input by using the KEYEVENTF_UNICODE flag. For more information, see the remarks section of KEYBDINPUT.
            </remarks>
        </member>
        <member name="F:Microsoft.Test.Input.NativeMethods.INPUT.Type">
            <summary>
            Specifies the type of the input event. This member can be one of the following values. 
            InputType.MOUSE - The event is a mouse event. Use the mi structure of the union.
            InputType.KEYBOARD - The event is a keyboard event. Use the ki structure of the union.
            InputType.HARDWARE - Windows 95/98/Me: The event is from input hardware other than a keyboard or mouse. Use the hi structure of the union.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.NativeMethods.INPUT.Data">
            <summary>
            The data structure that contains information about the simulated Mouse, Keyboard or Hardware event.
            </summary>
        </member>
        <member name="T:Microsoft.Test.Input.NativeMethods.MOUSEKEYBDHARDWAREINPUT">
            <summary>
            The combined/overlayed structure that includes Mouse, Keyboard and Hardware Input message data (see: http://msdn.microsoft.com/en-us/library/ms646270(VS.85).aspx)
            </summary>
        </member>
        <member name="T:Microsoft.Test.FaultInjection.ICondition">
            <summary>
            Defines the contract for specifying when a fault will be triggered on a method.
            </summary>
            <remarks>
            If the fault condition is not triggered, the faulted method will execute its original code.
            For more information on how to use a condition, see the <see cref="T:Microsoft.Test.FaultInjection.FaultSession"/> class.
            </remarks>
        </member>
        <member name="M:Microsoft.Test.FaultInjection.ICondition.Trigger(Microsoft.Test.FaultInjection.IRuntimeContext)">
            <summary>
            Determines whether a fault should be triggered.
            </summary>
            <param name="context">The runtime context information for this call and the faulted method.</param>
            <returns>Returns true if a fault should be triggered, otherwise returns false.</returns>
        </member>
        <member name="T:Microsoft.Test.FaultInjection.FaultScope">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Test.FaultInjection.FaultScope.#ctor(Microsoft.Test.FaultInjection.FaultRule[])">
            <summary>
            
            </summary>
            <param name="rules"></param>
        </member>
        <member name="M:Microsoft.Test.FaultInjection.FaultScope.Dispose">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Test.FaultInjection.FaultScope.AssertFaultInjectionEnabled">
            <summary>
            Checks that 
            </summary>
        </member>
        <member name="P:Microsoft.Test.FaultInjection.FaultScope.Current">
            <summary>
            
            </summary>
        </member>
        <member name="P:Microsoft.Test.FaultInjection.FaultScope.FaultRules">
            <summary>
            
            </summary>
        </member>
        <member name="T:Microsoft.Test.FaultInjection.CallStack">
            <summary>
            Extracts frame information from a StackTrace object.
            </summary>
            <remarks>
            Calling CallStack[n] (where n is zero-indexed) will return a C#-style method signature for the nth frame.
            </remarks>
        </member>
        <member name="M:Microsoft.Test.FaultInjection.CallStack.#ctor(System.Diagnostics.StackTrace)">
            <summary>
            Initializes a new instance of the CallStack class.
            </summary>
            <param name="stackTrace"> A stack trace from which to create the CallStack.</param>
        </member>
        <member name="P:Microsoft.Test.FaultInjection.CallStack.FrameCount">
            <summary>
            Number of Frames in the CallStack.
            </summary>
        </member>
        <member name="P:Microsoft.Test.FaultInjection.CallStack.Item(System.Int32)">
            <summary>
            C#-style method signature for the specified frame.
            </summary>
            <param name="index">frame to evaluate</param>
        </member>
        <member name="T:Microsoft.Test.FaultInjection.ComRegistrar">
            <summary>
            Provides facilities for registration and query of the fault injection COM engine.
            </summary>
        </member>
        <member name="F:Microsoft.Test.FaultInjection.ComRegistrar.Clsid">
            <summary>
            CLSID of the fault injection COM engine.
            </summary>
        </member>
        <member name="M:Microsoft.Test.FaultInjection.ComRegistrar.Register(System.String)">
            <summary>
            Registers the fault injection COM engine.
            </summary>
            <param name="enginePathName">Path name of engine file.</param>
        </member>
        <member name="M:Microsoft.Test.FaultInjection.ComRegistrar.Unregister(System.String)">
            <summary>
            Unregisters the fault injection COM engine.
            </summary>
        </member>
        <member name="M:Microsoft.Test.FaultInjection.ComRegistrar.IsRegistered">
            <summary>
            Determines whether the fault injection engine has been registered in COM.
            </summary>
            <returns>true if the fault injection COM engine has been registered.</returns>
        </member>
        <member name="M:Microsoft.Test.FaultInjection.ComRegistrar.SuppressAutoRegister">
            <summary>
            Supresses auto-registration behaviour of the fault injection API.
            </summary>
        </member>
        <member name="T:Microsoft.Test.FaultInjection.NamespaceDoc">
            <summary>
            Contains facilities for runtime fault injection in managed code. 
            The API allows a test to simulate various faults in order to better exercise 
            code-paths in the tested system.
            </summary>
        </member>
        <member name="T:Microsoft.Test.CommandLineParsing.DirectoryInfoConverter">
            <summary>
            Converter that can convert from a string to a DirectoryInfo.
            </summary>
        </member>
        <member name="M:Microsoft.Test.CommandLineParsing.DirectoryInfoConverter.ConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object)">
            <summary>
            Converts from a string to a DirectoryInfo.
            </summary>
            <param name="context">Context.</param>
            <param name="culture">Culture.</param>
            <param name="value">Value to convert.</param>
            <returns>DirectoryInfo, or null if value was null or non-string.</returns>
        </member>
        <member name="M:Microsoft.Test.CommandLineParsing.DirectoryInfoConverter.CanConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Type)">
            <summary>
            Returns whether this converter can convert an object of the given type to the type of this converter, using the specified context.
            </summary>
            <param name="context">An ITypeDescriptorContext that provides a format context.</param>
            <param name="sourceType">A Type that represents the type you want to convert from.</param>
            <returns>True if this converter can perform the conversion; otherwise, False.</returns>
        </member>
        <member name="T:Microsoft.Test.ApplicationControl.AutomatedApplicationEventArgs">
            <summary>
            Represents the event args passed to AutomatedApplication events.
            </summary>
        </member>
        <member name="M:Microsoft.Test.ApplicationControl.AutomatedApplicationEventArgs.#ctor(Microsoft.Test.ApplicationControl.AutomatedApplication)">
            <summary>
            Constructs an AutomatedApplicationEventArgs instance with the given
            AutomatedApplication.
            </summary>
            <param name="automatedApp">The AutomatedApplication data to pass to the listeners.</param>
        </member>
        <member name="P:Microsoft.Test.ApplicationControl.AutomatedApplicationEventArgs.AutomatedApplication">
            <summary>
            The AutomatedApplication data passed to listeners.
            </summary>
        </member>
        <member name="T:Microsoft.Test.VisualVerification.SnapshotToleranceMapVerifier">
             <summary>
             Verifies that all pixels in a Snapshot are within the tolerance range, defined by the tolerance map.
             </summary>
             <example>
             The following code demonstrates how to use SnapshotToleranceMapVerifier 
             for visual verification purposes.
             <code>
             // Take a snapshot, compare to the master image and generate a diff
             WindowSnapshotMode wsm = WindowSnapshotMode.ExcludeWindowBorder;
            
             Snapshot actual = Snapshot.FromWindow(hwndOfYourWindow, wsm);
             Snapshot expected = Snapshot.FromFile("Expected.png");
             Snapshot difference = actual.CompareTo(expected);
            
             // Load the tolerance map. Then use it to verify the difference snapshot
             Snapshot toleranceMap = Snapshot.FromFile("ExpectedImageToleranceMap.png");
             SnapshotVerifier v = new SnapshotToleranceMapVerifier(toleranceMap);
            
             if (v.Verify(difference) == VerificationResult.Fail)
             {
                 // Log failure, and save the actual and diff images for investigation
                 actual.ToFile("Actual.png", ImageFormat.Png);
                 difference.ToFile("Difference.png", ImageFormat.Png);
             }
             </code>
             </example>
        </member>
        <member name="T:Microsoft.Test.VisualVerification.SnapshotVerifier">
            <summary>
            Base class for all Snapshot verifier types. 
            This establishes a single method contract: Verify(Snapshot).
            </summary>
        </member>
        <member name="M:Microsoft.Test.VisualVerification.SnapshotVerifier.Verify(Microsoft.Test.VisualVerification.Snapshot)">
            <summary>
            Verifies the specified Snapshot instance against the current settings of the SnapshotVerifier instance.
            </summary>
            <param name="image">The image to be verified.</param>
            <returns>The verification result based on the supplied image and the current settings of the SnapshotVerifier instance.</returns>
        </member>
        <member name="M:Microsoft.Test.VisualVerification.SnapshotToleranceMapVerifier.#ctor(Microsoft.Test.VisualVerification.Snapshot)">
            <summary>
            Initializes a new instance of the SnapshotToleranceMapVerifier class, using the specified tolerance map. 
            </summary>
            <param name="toleranceMap">
            A Snapshot instance defining the tolerance map, used by the verifier.
            A black tolerance map (a snapshot, where all pixels are with zero values) means zero tolerance. 
            A white tolerance map (a snapshot, where all pixels are with value 0xFF) means infinitely high tolerance.
            </param>
        </member>
        <member name="M:Microsoft.Test.VisualVerification.SnapshotToleranceMapVerifier.Verify(Microsoft.Test.VisualVerification.Snapshot)">
            <summary>
            Ensures that the image colors are all with smaller values than the image colors of the tolerance map.
            </summary>
            <param name="image">The actual image being verified.</param>
            <returns>A VerificationResult enumeration value based on the image, and the tolerance map.</returns>
        </member>
        <member name="P:Microsoft.Test.VisualVerification.SnapshotToleranceMapVerifier.ToleranceMap">
            <summary>
            A Snapshot defining the tolerance map used by the verifier.
            A black tolerance map (a snapshot, where all pixels are with zero values) means zero tolerance. 
            A white tolerance map (a snapshot, where all pixels are with value 0xFF) means infinitely high tolerance.
            </summary>
        </member>
        <member name="T:Microsoft.Test.VariationGeneration.ParameterValueBase">
            <summary>
            Represents a single value in a parameter.
            </summary>
        </member>
        <member name="M:Microsoft.Test.VariationGeneration.ParameterValueBase.GetValue">
            <summary>
            Returns the value that this ParameterValue represents.
            </summary>
            <returns>The value.</returns>
        </member>
        <member name="P:Microsoft.Test.VariationGeneration.ParameterValueBase.Tag">
            <summary>
            Tags the value with a user-defined expected result. 
            At most, one tagged value appears in a variation. The default is null.
            </summary>
        </member>
        <member name="P:Microsoft.Test.VariationGeneration.ParameterValueBase.Weight">
            <summary>
            A value that indicates whether this value should be chosen more or less frequently. 
            Larger values are chosen more often. The default is 1.0.
            </summary>
            <remarks>
            Weighting creates preferences for certain values. Because of the nature of the algorithm used, 
            the actual weight has no intrinsic meaning (weighting one value at 10.0 and the others at 1.0 
            does not mean the first value appears 10 times more often). The primary goal of the algorithm 
            is to cover all the combinations while using the fewest possible test cases, which often 
            contradicts the preference for honoring the weight. Weight acts as a tie breaker when candidate 
            values cover the same number of combinations.  
            </remarks>
        </member>
        <member name="T:Microsoft.Test.Text.NumberProperty">
            <summary>
            Collect number code points
            </summary>
        </member>
        <member name="T:Microsoft.Test.Text.IStringProperty">
            <summary>
            Inteface for specific string property class
            </summary>
        </member>
        <member name="M:Microsoft.Test.Text.IStringProperty.GetRandomCodePoints(System.Int32,System.Int32)">
            <summary>
            Get next random code point or points that belongs to a specific
            string property. number of code points does not necessarily translate
            to number of chars since surrogate pair are two bytes
            </summary>
        </member>
        <member name="M:Microsoft.Test.Text.IStringProperty.IsInPropertyRange(System.Int32)">
            <summary>
            Check if code point is in the property range
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.NumberProperty.numberDictionary">
            <summary>
            Dictionary to store code point corresponding to culture.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.NumberProperty.MINNUMOFCODEPOINT">
            <summary>
            Define minimum code point needed to be a string has number
            </summary>
        </member>
        <member name="M:Microsoft.Test.Text.NumberProperty.#ctor(Microsoft.Test.Text.UnicodeRangeDatabase,System.Collections.ObjectModel.Collection{Microsoft.Test.Text.UnicodeRange})">
            <summary>
            Define NumberProperty class, 
            <a href="http://unicode.org/reports/tr13/tr13-5.html">Newline</a>
            </summary>
        </member>
        <member name="M:Microsoft.Test.Text.NumberProperty.IsInPropertyRange(System.Int32)">
            <summary>
            Check if code point is in the property range
            </summary>
        </member>
        <member name="M:Microsoft.Test.Text.NumberProperty.GetRandomCodePoints(System.Int32,System.Int32)">
            <summary>
            Get number code points
            </summary>
        </member>
        <member name="T:Microsoft.Test.ObjectComparison.ObjectComparisonMismatch">
             <summary>
             Represents one comparison mismatch.
             </summary>
            
             <example>
             The following example shows how to derive the list of comparison mismatches.
            
             <code>
             Person p1 = new Person("John");
             p1.Children.Add(new Person("Peter"));
             p1.Children.Add(new Person("Mary"));
            
             Person p2 = new Person("John");
             p2.Children.Add(new Person("Peter"));
            
             // Perform the compare operation
             ObjectGraphFactory factory = new PublicPropertyObjectGraphFactory();
             ObjectComparer comparer = new ObjectComparer(factory);
             IEnumerable&lt;ObjectComparisonMismatch&gt; m12 = new List&lt;ObjectComparisonMismatch&gt;();
             Console.WriteLine(
                 "Objects p1 and p2 {0}", 
                 comparer.Compare(p1, p2, out m12) ? "match!" : "do NOT match!");
                 
             foreach (ObjectComparisonMismatch m in m12)
             {
                 Console.WriteLine(
                     "Nodes '{0}' and '{1}' do not match. Mismatch message: '{2}'",
                     m.LeftObjectNode != null ? m.LeftObjectNode.Name : "null",
                     m.RightObjectNode != null ? m.LeftObjectNode.Name : "null",
                     m.MismatchType); 
             }
             </code>
            
             where Person is declared as follows:
            
             <code>
             class Person
             {
                 public Person(string name) 
                 { 
                     Name = name;
                     Children = new Collection&lt;Person&gt;();
                 }
                 public string Name { get; set; }
                 public Collection&lt;Person&gt; Children { get; private set;  }
             }
             </code>
             </example>
        </member>
        <member name="M:Microsoft.Test.ObjectComparison.ObjectComparisonMismatch.#ctor(Microsoft.Test.ObjectComparison.GraphNode,Microsoft.Test.ObjectComparison.GraphNode,Microsoft.Test.ObjectComparison.ObjectComparisonMismatchType)">
            <summary>
            Creates an instance of the ObjectComparisonMismatch class.
            </summary>
            <param name="leftObjectNode">The node from the left object.</param>
            <param name="rightObjectNode">The node from the right object.</param>
            <param name="mismatchType">Represents the type of mismatch.</param>
        </member>
        <member name="P:Microsoft.Test.ObjectComparison.ObjectComparisonMismatch.LeftObjectNode">
            <summary>
            Gets the node in the left object.
            </summary>
        </member>
        <member name="P:Microsoft.Test.ObjectComparison.ObjectComparisonMismatch.RightObjectNode">
            <summary>
            Gets the node in the right object.
            </summary>
        </member>
        <member name="P:Microsoft.Test.ObjectComparison.ObjectComparisonMismatch.MismatchType">
            <summary>
            Represents the type of mismatch.
            </summary>
        </member>
        <member name="T:Microsoft.Test.Input.NamespaceDoc">
            <summary>
            Contains facilities for realistic simulation of user input 
            (keyboard, mouse, pen, multi-touch).
            </summary>
        </member>
        <member name="T:Microsoft.Test.FaultInjection.IFault">
             <summary>
             Defines the contract for a fault.
             </summary>
             <remarks>
             For more information on how to use a fault, see the <see cref="T:Microsoft.Test.FaultInjection.FaultSession"/> class.
             </remarks>
             
             <example>
             Define a custom fault, which returns a random int when triggered.
             <code>
             public class ReturnRandomIntFault : IFault
             {
                 private Random rand;
            
                 public ReturnRandomIntFault(int seed)
                 {
                     rand = new Random(seed);
                 }
            
                 public void Retrieve(IRuntimeContext context, out Exception exceptionValue, out object returnValue)
                 {
                     exceptionValue = null;
                     returnValue = rand.Next();
                 }
             }
             </code>
             </example>
        </member>
        <member name="M:Microsoft.Test.FaultInjection.IFault.Retrieve(Microsoft.Test.FaultInjection.IRuntimeContext,System.Exception@,System.Object@)">
            <summary>
            Defines the behavior of the fault when triggered.
            </summary>
            <param name="context">The runtime context information for this call.</param>
            <param name="exceptionValue">An output paramter for the exception to be thrown by the faulted method.</param>
            <param name="returnValue">An output paramter for the value to be returned by the faulted method.</param>
            <remarks>
            Parameter <paramref name="returnValue"/>
            is only checked when <paramref name="exceptionValue"/> returns null.
            </remarks>
        </member>
        <member name="T:Microsoft.Test.FaultInjection.IRuntimeContext">
            <summary>
            Defines the contract for information provided by the faulted method.
            </summary>
        </member>
        <member name="P:Microsoft.Test.FaultInjection.IRuntimeContext.CalledTimes">
            <summary>
            The number of times the method is called.
            </summary>
        </member>
        <member name="P:Microsoft.Test.FaultInjection.IRuntimeContext.CallStackTrace">
            <summary>
            The method's stack trace.
            </summary>
        </member>
        <member name="P:Microsoft.Test.FaultInjection.IRuntimeContext.CallStack">
            <summary>
            An array of C#-style method signatures for each method on the call stack.
            </summary>
        </member>
        <member name="P:Microsoft.Test.FaultInjection.IRuntimeContext.Caller">
            <summary>
            The C#-style method signature of the caller of the faulted method.
            </summary>
        </member>
        <member name="T:Microsoft.Test.ApplicationControl.IOutOfProcessAutomatedApplicationImpl">
            <summary>
            Defines the contract for an out of process AutomatedApplication.
            </summary>
            <remarks>
            Represents the 'Implemention' inteface for the AutomatedApplication bridge. As such, 
            this can vary from the public interface of AutomatedApplication.
            </remarks>
        </member>
        <member name="T:Microsoft.Test.ApplicationControl.IAutomatedApplicationImpl">
            <summary>
            Defines the contract for an AutomatedApplication.
            </summary>
            <remarks>
            Represents the 'Implemention' inteface for the AutomatedApplication bridge. As such, 
            this can vary from the public interface of AutomatedApplication.
            </remarks>
        </member>
        <member name="M:Microsoft.Test.ApplicationControl.IAutomatedApplicationImpl.Start">
            <summary>
            Starts the test application.
            </summary>
        </member>
        <member name="M:Microsoft.Test.ApplicationControl.IAutomatedApplicationImpl.Close">
            <summary>
            Closes the test application.
            </summary>
        </member>
        <member name="M:Microsoft.Test.ApplicationControl.IAutomatedApplicationImpl.WaitForMainWindow(System.TimeSpan)">
            <summary>
            Waits for the test application's main window to open.
            </summary>
            <param name="timeout">The timeout interval.</param>
        </member>
        <member name="M:Microsoft.Test.ApplicationControl.IAutomatedApplicationImpl.WaitForWindow(System.String,System.TimeSpan)">
            <summary>
            Waits for the given window to open.
            </summary>
            <param name="windowName">The window id of the window to wait for.</param>
            <param name="timeout">The timeout interval.</param>
        </member>
        <member name="M:Microsoft.Test.ApplicationControl.IAutomatedApplicationImpl.WaitForInputIdle(System.TimeSpan)">
            <summary>
            Waits for the test application to become idle.
            </summary>
            <param name="timeout">The timeout interval.</param>
        </member>
        <member name="E:Microsoft.Test.ApplicationControl.IAutomatedApplicationImpl.MainWindowOpened">
            <summary>
            Occurs when the test application's main window is opened.
            </summary>
        </member>
        <member name="E:Microsoft.Test.ApplicationControl.IAutomatedApplicationImpl.Exited">
            <summary>
            Occurs when the test application exits.
            </summary>
        </member>
        <member name="E:Microsoft.Test.ApplicationControl.IAutomatedApplicationImpl.FocusChanged">
            <summary>
            Occurs when focus changes.
            </summary>
        </member>
        <member name="P:Microsoft.Test.ApplicationControl.IAutomatedApplicationImpl.MainWindow">
            <summary>
            The test application's main window.
            </summary>
        </member>
        <member name="P:Microsoft.Test.ApplicationControl.IAutomatedApplicationImpl.ApplicationDriver">
            <summary>
            The driver of the test application.
            </summary>
        </member>
        <member name="P:Microsoft.Test.ApplicationControl.IAutomatedApplicationImpl.IsMainWindowOpened">
            <summary>
            Indicates whether the test application's main window has opened.
            </summary>
        </member>
        <member name="P:Microsoft.Test.ApplicationControl.IOutOfProcessAutomatedApplicationImpl.Process">
            <summary>
            The process associated with the application.
            </summary>
        </member>
        <member name="T:Microsoft.Test.VisualVerification.NamespaceDoc">
            <summary>
            Contains facilities for verification of the application display. 
            </summary>
        </member>
        <member name="T:Microsoft.Test.VariationGeneration.Variation">
            <summary>
            Represents a tuple that has a single value for every <see cref="T:Microsoft.Test.VariationGeneration.Parameter`1"/> 
            in the <see cref="T:Microsoft.Test.VariationGeneration.Model`1"/>. The Model produces these by using combinatorial testing techniques.
            </summary>
            <remarks>
            Exhaustively testing all possible inputs to any nontrivial software component is generally impossible
            due to the enormous number of variations. Combinatorial testing is one approach to achieve high coverage
            with a much smaller set of variations. Pairwise, the most common combinatorial strategy, test every possible 
            pair of values.  Higher orders of combinations (3-wise, 4-wise, etc.) can also be used for higher coverage
            at the expense of more variations. See <a href="http://pairwise.org">Pairwise Testing</a> and 
            <a href="http://www.pairwise.org/docs/pnsqc2006/PNSQC%20140%20-%20Jacek%20Czerwonka%20-%20Pairwise%20Testing%20-%20BW.pdf">
            Pairwise Testing in Real World</a> for more resources.
            </remarks>
        </member>
        <member name="M:Microsoft.Test.VariationGeneration.Variation.#ctor">
            <summary>
            Initializes a new instance of the Variation class.
            </summary>
        </member>
        <member name="M:Microsoft.Test.VariationGeneration.Variation.#ctor(System.Object)">
            <summary>
            Initializes a new variation that has the specified expected result.
            </summary>
            <param name="tag">Specifies whether this variation contains a user-defined tag.</param>
        </member>
        <member name="P:Microsoft.Test.VariationGeneration.Variation.Tag">
            <summary>
            Indicates whether a value has been tagged with an expected result. The default is null. 
            </summary>
        </member>
        <member name="T:Microsoft.Test.VariationGeneration.Constraints.IfPredicate`1">
            <summary>
            Represents the predicate of a constraint with a logical implication.
            </summary>
            <typeparam name="T">The type of variation being operated on.</typeparam>
        </member>
        <member name="T:Microsoft.Test.Text.UnicodeRangeDatabase">
            <summary>
            Collection of Unicode ranges including Scripts, Symbols, and Punctuation
            </summary>
        </member>
        <member name="M:Microsoft.Test.Text.UnicodeRangeDatabase.#ctor">
            <summary>
            Define UnicodeRangeDatabase class, 
            <a href="http://www.unicode.org/charts/">Newline</a>
            </summary>
        </member>
        <member name="P:Microsoft.Test.Text.UnicodeRangeDatabase.Scripts">
            <summary>
            Getter for scripts
            </summary>
        </member>
        <member name="P:Microsoft.Test.Text.UnicodeRangeDatabase.SymbolsAndPunctuation">
            <summary>
            Getter for symbols and punctuation
            </summary>
        </member>
        <member name="T:Microsoft.Test.Text.CombiningMarksProperty">
            <summary>
            Collect combining mark code points
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.CombiningMarksProperty.combiningMarksDictionary">
            <summary>
            Dictionary to store code point corresponding to culture.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.CombiningMarksProperty.MINNUMOFCODEPOINT">
            <summary>
            Define minimum code points needed to be a combining mark string
            </summary>
        </member>
        <member name="M:Microsoft.Test.Text.CombiningMarksProperty.#ctor(Microsoft.Test.Text.UnicodeRangeDatabase,System.Collections.ObjectModel.Collection{Microsoft.Test.Text.UnicodeRange})">
            <summary>
            Define CombiningMarksProperty class 
            <a href="http://www.unicode.org/charts/PDF/U0300.pdf">Newline</a>
            <a href="http://www.unicode.org/charts/PDF/U1DC0.pdf">Newline</a>
            <a href="http://www.unicode.org/charts/PDF/UFE20.pdf">Newline</a>
            </summary>
        </member>
        <member name="M:Microsoft.Test.Text.CombiningMarksProperty.IsInPropertyRange(System.Int32)">
            <summary>
            Check if code point is in the property range
            </summary>
        </member>
        <member name="M:Microsoft.Test.Text.CombiningMarksProperty.GetRandomCodePoints(System.Int32,System.Int32)">
            <summary>
            Get random combining marks code points
            </summary>
        </member>
        <member name="T:Microsoft.Test.FaultInjection.SignatureParsing.Expression">
            <summary>
            Parse string expression into value
            </summary>
        </member>
        <member name="M:Microsoft.Test.FaultInjection.SignatureParsing.Expression.ObjectExpression(System.String,System.String,System.String)">
            <summary>
            Parse expression that represents an reference object
            </summary>
            <param name="className">class name</param>
            <param name="parameterString">constructor parameter string</param>
            <param name="assembly">assembly, optional</param>
            <returns>the object</returns>
        </member>
        <member name="M:Microsoft.Test.FaultInjection.SignatureParsing.Expression.GeneralExpression(System.String,System.Type@)">
            <summary>
            Parse expression from string, also return expression value type
            </summary>
            <param name="fullName">expression string</param>
            <param name="type">return value type</param>
            <returns>return value</returns>
        </member>
        <member name="M:Microsoft.Test.FaultInjection.SignatureParsing.Expression.GeneralExpression(System.String)">
            <summary>
            Parse expression from string
            </summary>
            <param name="FullName">expression string</param>
            <returns>return value</returns>
        </member>
        <member name="M:Microsoft.Test.FaultInjection.SignatureParsing.Expression.LoadAssembly(System.String)">
            <summary>
            Load assembly given its name with path
            </summary>
            <param name="assemblyName">assembly name</param>
            <returns>the assembly</returns>
        </member>
        <member name="M:Microsoft.Test.FaultInjection.SignatureParsing.Expression.GetType(System.String,System.String,System.String)">
            <summary>
            Get type from current appDomain or specific assembly, supporting nested class names
            </summary>
            <param name="typeName">type name</param>
            <param name="assemblyName">assembly file path</param>
            <param name="alternativeAssemblyName">alternative assembly name</param>
            <returns>return type</returns>
        </member>
        <member name="M:Microsoft.Test.FaultInjection.SignatureParsing.Expression.StringExpression(System.String,System.Type@)">
            <summary>
            String type expression
            </summary>
            <param name="stringExpression">string</param>
            <param name="type">return value type</param>
            <returns>return value</returns>
        </member>
        <member name="M:Microsoft.Test.FaultInjection.SignatureParsing.Expression.StructExpression(System.String,System.String,System.String,System.String,System.Type@)">
            <summary>
            Struct type expression as well as null object expression
            </summary>
            <param name="structName">type name</param>
            <param name="parameter">parameter</param>
            <param name="assembly">assembly, optional</param>
            <param name="alternativeAssembly">alternative assembly, otional</param>
            <param name="type">return value type</param>
            <returns>return value</returns>
        </member>
        <member name="M:Microsoft.Test.FaultInjection.SignatureParsing.Expression.ParameterListSplitter(System.String)">
            <summary>
            Parameter list splitter, utility
            </summary>
            <param name="parameters">the whole string that represents parameter list</param>
            <returns>parameter list</returns>
        </member>
        <member name="M:Microsoft.Test.FaultInjection.SignatureParsing.Expression.ObjectExpression(System.String,System.String,System.String,System.String,System.Type@)">
            <summary>
            Parse expression that represents an reference object
            </summary>
            <param name="className">class name</param>
            <param name="parameterString">constructor parameter string</param>
            <param name="assembly">assembly, optionaly</param>
            <param name="alternativeAssembly">alternative assembly, optional</param>
            <param name="type">object type</param>
            <returns>the object</returns>
        </member>
        <member name="M:Microsoft.Test.FaultInjection.SignatureParsing.Expression.ArrayExpression(System.String,System.String,System.String,System.String,System.Type@)">
            <summary>
            Parse expression that represents an array
            </summary>
            <param name="className">array type</param>
            <param name="parameterString">array item list</param>
            <param name="assembly">assembly, optional</param>
            <param name="alternativeAssembly">alternative assembly, optional</param>
            <param name="type">array type</param>
            <returns>return value</returns>
        </member>
        <member name="M:Microsoft.Test.FaultInjection.SignatureParsing.Expression.GeneralExpression(System.String,System.String,System.Type@)">
            <summary>
            Parse expression from string
            </summary>
            <param name="fullName">expression string</param>
            <param name="alternativeAssembly">alternative assembly name</param>
            <param name="type">return value type</param>
            <returns>return value</returns>
        </member>
        <member name="T:Microsoft.Test.FaultInjection.FaultInjectionException">
            <summary>
            An exception that is thrown when and error in the FaultInjection API occurs.
            </summary>
        </member>
        <member name="M:Microsoft.Test.FaultInjection.FaultInjectionException.#ctor">
            <summary>
            Initializes a new instance of the FaultInjectionException class.
            </summary>
        </member>
        <member name="M:Microsoft.Test.FaultInjection.FaultInjectionException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the FaultInjectionException class using the specified message.
            </summary>
        </member>
        <member name="M:Microsoft.Test.FaultInjection.FaultInjectionException.#ctor(System.String,System.Exception)">
            <summary>
            Initializes a new instance of the FaultInjectionException class using the specified message and inner
            exception.
            </summary>
        </member>
        <member name="M:Microsoft.Test.FaultInjection.FaultInjectionException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Constructor used for serialization purposes.
            </summary>
        </member>
        <member name="T:Microsoft.Test.CommandLineParsing.FileInfoConverter">
            <summary>
            Converter that can convert from a string to a FileInfo.
            </summary>
        </member>
        <member name="M:Microsoft.Test.CommandLineParsing.FileInfoConverter.ConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object)">
            <summary>
            Converts from a string to a FileInfo.
            </summary>
            <param name="context">Context.</param>
            <param name="culture">Culture.</param>
            <param name="value">Value to convert.</param>
            <returns>FileInfo, or null if value was null or non-string.</returns>
        </member>
        <member name="M:Microsoft.Test.CommandLineParsing.FileInfoConverter.CanConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Type)">
            <summary>
            Returns whether this converter can convert an object of the given type to a FileInfo.
            </summary>
            <param name="context">An ITypeDescriptorContext that provides a format context.</param>
            <param name="sourceType">A Type that represents the type you want to convert from.</param>
            <returns>True if this converter can perform the conversion; otherwise, False.</returns>
        </member>
        <member name="M:Microsoft.Test.CommandLineParsing.FileInfoConverter.ConvertTo(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type)">
            <summary>
            Converts from a FileInfo to a string.
            </summary>
        </member>
        <member name="M:Microsoft.Test.CommandLineParsing.FileInfoConverter.CanConvertTo(System.ComponentModel.ITypeDescriptorContext,System.Type)">
            <summary>
            Returns whether this converter can convert a FileInfo object to the specified type.
            </summary>
        </member>
        <member name="T:Microsoft.Test.ApplicationControl.AutomatedApplication">
             <summary>
             Loads and starts a test application either in the current process or in a new, 
             separate process.
             </summary>
            
             <example>
             The following example shows in-process usage. The code runs the target
             application in a separate thread within the current process.
             <code>
             public void MyTest()
             {
                var path = Path.Combine(executionDir, "WpfTestApplication.exe");
                var a = new InProcessApplication(new WpfInProcessApplicationSettings
                {
                     Path = path,
                     InProcessApplicationType = InProcessApplicationType.InProcessSeparateThread,
                     ApplicationImplementationFactory = new WpfInProcessApplicationFactory()
                });
             
                a.Start();
                a.WaitForMainWindow(TimeSpan.FromMilliseconds(5000));
                
                // Perform various tests...
                
                a.Close();
             }
             </code>
             </example>
            
             <example>
             The following example demonstrates out-of-process usage:
             <code>
             public void MyTest()
             {
                var path = Path.Combine(executionDir, "WpfTestApplication.exe");
                var a = new OutOfProcessApplication(new OutOfProcessApplicationSettings
                {
                    ProcessStartInfo = new ProcessStartInfo(path),
                    ApplicationImplementationFactory = new UIAutomationOutOfProcessApplicationFactory()
                });
              
                a.Start();
                a.WaitForMainWindow(TimeSpan.FromMilliseconds(5000));
                
                // Perform various tests...
                
                a.Close();
             }
             </code>
             </example>
        </member>
        <member name="M:Microsoft.Test.ApplicationControl.AutomatedApplication.#ctor">
            <summary>
            AutomatedApplication objects are instantiated internally.
            </summary>
        </member>
        <member name="M:Microsoft.Test.ApplicationControl.AutomatedApplication.Start">
            <summary>
            Starts the test application after validating its settings.
            </summary>
            <remarks>
            Refined abstractions are expected to initialize AutomatedAppImp
            and call AutomatedAppImp.Start().
            </remarks>
        </member>
        <member name="M:Microsoft.Test.ApplicationControl.AutomatedApplication.WaitForMainWindow(System.TimeSpan)">
            <summary>
            Waits for the test application to display its main window.
            </summary>
            <remarks>
            Blocks execution of the current thread until the window is displayed 
            or until the specified timeout interval elapses.
            </remarks>
            <param name="timeout">The timeout interval.</param>
        </member>
        <member name="M:Microsoft.Test.ApplicationControl.AutomatedApplication.WaitForWindow(System.String,System.TimeSpan)">
            <summary>
            Waits for the test application to display a window with a specified name.
            </summary>
            <remarks>
            Blocks execution of the current thread until the window is displayed 
            or until the specified timeout interval elapses.
            </remarks>
            <param name="windowName">The window to wait for.</param>
            <param name="timeout">The timeout interval.</param>
        </member>
        <member name="M:Microsoft.Test.ApplicationControl.AutomatedApplication.Close">
            <summary>
            Closes the automated application gracefully.
            </summary>
        </member>
        <member name="M:Microsoft.Test.ApplicationControl.AutomatedApplication.WaitForInputIdle(System.TimeSpan)">
            <summary>
            Waits for the test application to enter an idle state.
            </summary>
            <remarks>
            Blocks execution of the current thread until the window is displayed 
            or until the specified timeout interval elapses.
            </remarks>
            <param name="timeout">The timeout interval.</param>
        </member>
        <member name="M:Microsoft.Test.ApplicationControl.AutomatedApplication.AddEventHandler(Microsoft.Test.ApplicationControl.AutomatedApplicationEventType,System.Delegate)">
            <summary>
            Adds an event handler for the given AutomatedApplicationEventType.
            </summary>
            <param name="eventType">The type of event to listen for.</param>
            <param name="handler">The delegate to be called when the event occurs.</param>
        </member>
        <member name="M:Microsoft.Test.ApplicationControl.AutomatedApplication.RemoveEventHandler(Microsoft.Test.ApplicationControl.AutomatedApplicationEventType,System.Delegate)">
            <summary>
            Removes an event handler for the given AutomatedApplicationEventType.
            </summary>
            <param name="eventType">The type of event to remove.</param>
            <param name="handler">The delegate to remove.</param>
        </member>
        <member name="M:Microsoft.Test.ApplicationControl.AutomatedApplication.OnMainWindowOpened(System.Object,System.EventArgs)">
            <summary>
            Wrapper to signal the MainWindowOpened event
            </summary>
            <param name="sender">The source of the event which is IAutomatedApplicationImpl.</param>
            <param name="e">An System.EventArgs that contains no event data.</param>
        </member>
        <member name="M:Microsoft.Test.ApplicationControl.AutomatedApplication.OnFocusChanged(System.Object,System.EventArgs)">
            <summary>
            Wrapper to signal the FocusChanged event
            </summary>
            <param name="sender">The source of the event which is IAutomatedApplicationImpl.</param>
            <param name="e">An System.EventArgs that contains no event data.</param>
        </member>
        <member name="M:Microsoft.Test.ApplicationControl.AutomatedApplication.OnExit(System.Object,System.EventArgs)">
            <summary>
            Wrapper to signal the Exited event
            </summary>
            <param name="sender">The source of the event which is IAutomatedApplicationImpl.</param>
            <param name="e">An System.EventArgs that contains no event data.</param>
        </member>
        <member name="F:Microsoft.Test.ApplicationControl.AutomatedApplication._eventHandlers">
            <summary>
            Holds a table of general event handlers for AutomatedApplication
            </summary>
        </member>
        <member name="E:Microsoft.Test.ApplicationControl.AutomatedApplication.MainWindowOpened">
            <summary>
            Notifies listeners that the MainWindow of the test application has opened.
            </summary>
        </member>
        <member name="E:Microsoft.Test.ApplicationControl.AutomatedApplication.Exited">
            <summary>
            Notifies listeners that the test application has exited.
            </summary>
        </member>
        <member name="P:Microsoft.Test.ApplicationControl.AutomatedApplication.MainWindow">
            <summary>
            The main window of the test application. 
            </summary>
            <remarks>
            This is an AutomationElement for an OutOfProcessApplication and a System.Windows.Window
            for an InProcessApplication.
            </remarks>
        </member>
        <member name="P:Microsoft.Test.ApplicationControl.AutomatedApplication.ApplicationImplementation">
            <summary>
            Gets or sets the automated application implementation.  
            </summary>
            <remarks>
            This is the 'implementation' following the bridge pattern.
            </remarks>
        </member>
        <member name="P:Microsoft.Test.ApplicationControl.AutomatedApplication.IsMainWindowOpened">
            <summary>
            Indicates whether the main window of the test application is open.
            </summary>
        </member>
        <member name="P:Microsoft.Test.ApplicationControl.AutomatedApplication.IsApplicationRunning">
            <summary>
            Indicates whether the test application is running.
            </summary>
        </member>
        <member name="T:Microsoft.Test.VisualVerification.VerificationResult">
            <summary>
            Specifies values used to report the outcome of a verification.
            </summary>
        </member>
        <member name="F:Microsoft.Test.VisualVerification.VerificationResult.Fail">
            <summary>
            Object does not meet verification criteria.
            </summary>
        </member>
        <member name="F:Microsoft.Test.VisualVerification.VerificationResult.Pass">
            <summary>
            Object meets verification criteria.
            </summary>
        </member>
        <member name="T:Microsoft.Test.Text.RegexTextNode">
            <summary>
            Represents a text portion of a regex (i.e. 'abc' and 'cde' in regular expression abc[A-Z]|cde{2,3}.
            </summary>
        </member>
        <member name="T:Microsoft.Test.Input.Mouse">
            <summary>
            Exposes a simple interface to common mouse operations, allowing the user to simulate mouse input.
            </summary>
            <example>The following code moves to screen coordinate 100,100 and left clicks.
            <code>
            Mouse.MoveTo(new Point(100, 100));
            Mouse.Click(MouseButton.Left);
            </code>
            </example>
        </member>
        <member name="M:Microsoft.Test.Input.Mouse.Click(Microsoft.Test.Input.MouseButton)">
            <summary>
            Clicks a mouse button.
            </summary>
            <param name="mouseButton">The mouse button to click.</param>
        </member>
        <member name="M:Microsoft.Test.Input.Mouse.DoubleClick(Microsoft.Test.Input.MouseButton)">
            <summary>
            Double-clicks a mouse button.
            </summary>
            <param name="mouseButton">The mouse button to click.</param>
        </member>
        <member name="M:Microsoft.Test.Input.Mouse.Down(Microsoft.Test.Input.MouseButton)">
            <summary>
            Performs a mouse-down operation for a specified mouse button.
            </summary>
            <param name="mouseButton">The mouse button to use.</param>
        </member>
        <member name="M:Microsoft.Test.Input.Mouse.DragTo(Microsoft.Test.Input.MouseButton,System.Drawing.Point)">
            <summary>
            Drags the mouse pointer to the specified screen coordinates, using the specified mouse button.
            Dragging involves pressing and holding the mouse button, moving to the specified location, and 
            releasing the mouse button.
            </summary>
            <param name="mouseButton">The mouse button to use.</param>
            <param name="point">The screen coordinates to move to.</param>
        </member>
        <member name="M:Microsoft.Test.Input.Mouse.MoveTo(System.Drawing.Point)">
            <summary>
            Moves the mouse pointer to the specified screen coordinates.
            </summary>
            <param name="point">The screen coordinates to move to.</param>
        </member>
        <member name="M:Microsoft.Test.Input.Mouse.Reset">
            <summary>
            Resets the system mouse to a clean state.
            </summary>
        </member>
        <member name="M:Microsoft.Test.Input.Mouse.Scroll(System.Double)">
            <summary>
            Simulates scrolling of the mouse wheel up or down.
            </summary>
            <param name="lines">
            The number of lines to scroll. Use positive numbers to 
            scroll up and negative numbers to scroll down.
            </param>
        </member>
        <member name="M:Microsoft.Test.Input.Mouse.Up(Microsoft.Test.Input.MouseButton)">
            <summary>
            Performs a mouse-up operation for a specified mouse button.
            </summary>
            <param name="mouseButton">The mouse button to use.</param>
        </member>
        <member name="M:Microsoft.Test.Input.Mouse.SendMouseInput(System.Int32,System.Int32,System.Int32,Microsoft.Test.Input.SendMouseInputFlags)">
            <summary>
            Sends mouse input.
            </summary>
            <param name="x">x coordinate</param>
            <param name="y">y coordinate</param>
            <param name="data">scroll wheel amount</param>
            <param name="flags">SendMouseInputFlags flags</param>
        </member>
        <member name="T:Microsoft.Test.CommandLineParsing.NamespaceDoc">
            <summary>
            Contains a full-featured API for command-line parsing. The API is exposed 
            in several decoupled layers – from a string-based command-line dictionary, 
            to a strongly-typed command-line parser.  
            </summary>
        </member>
        <member name="T:Microsoft.Test.VariationGeneration.VariationsWrapper`1">
            <summary>
            Wrapper around IEnumerable that creates list of T instances
            and assigns those instances properties based on list of generic
            variations and reflection mapping metadata.
            <remarks>
            The wrapper is used to translate list of generic Variations generated
            by the model and containing key\value pairs of parameter name\value
            to list of strongly type variation definition instances.
            </remarks>
            </summary>
        </member>
        <member name="M:Microsoft.Test.VariationGeneration.VariationsWrapper`1.AssignParameterValues(Microsoft.Test.VariationGeneration.Variation)">
            <summary>
            Initializes a single object from a variation.
            </summary>
            <param name="variation">The source variation.</param>
            <returns>The initialized object.</returns>
        </member>
        <member name="M:Microsoft.Test.VariationGeneration.VariationsWrapper`1.#ctor(System.Collections.Generic.Dictionary{System.String,System.Reflection.PropertyInfo},System.Collections.Generic.IEnumerable{Microsoft.Test.VariationGeneration.Variation})">
            <summary>
            Initializes new wrapper.
            </summary>
            <param name="propertiesMap">Map of properties to use when mapping 
            generic variation object to strongly typed T instance.</param>
            <param name="variations">List of generic variations to wrap.</param>
        </member>
        <member name="T:Microsoft.Test.VariationGeneration.ParameterAttribute">
             <summary>
             Specifies an attribute to decorate the properties of the class
             that is used for generating model parameters.
             </summary>
            
             <remarks>
             When a <see cref="T:Microsoft.Test.VariationGeneration.Model"/> property is decorated with a single attribute,
             the values from the attribute are added to the parameters that are
             created on the model and used for variation generation.
             When multiple attributes decorate the same property, a single
             value is selected from the values of each attribute (the number of
             values in the Model parameter is equal to the number of attributes 
             that are set on the property).
             </remarks>
            
             <example>
             The example below demonstrates how to use the Parameter attribute to declare a variation model. 
             <code>
             // First, provide a model class definition
             class OsConfigurationEx
             {
                 [Parameter(512, 1024, 2048)]
                 public int Memory { get; set; }
            
                 [Parameter("WinXP", "Vista", "Win2K8", "Win7")]
                 public string OS { get; set; }
            
                 [Parameter("enu", "jpn", "deu", "chs", "ptb")]
                 public string Language { get; set; }
            
                 [Parameter("NVidia", "ATI", "Intel")]
                 public string Graphics { get; set; }
             }
            
             // Then instantiate a model 
             var model = new Model&lt;OsConfigurationEx&gt;();
             foreach (OsConfigurationEx c in model.GenerateVariations(2))
             {
                 Console.WriteLine("{0} {1} {2} {3}", 
                     c.Memory, 
                     c.OS,
                     c.Language,
                     c.Graphics);
             }
             </code>
             </example>
             
             <example>
             This example shows how to use attributes of the model definition 
             class to support equivalence classes with different weights.
             <code>
             class OsConfigurationEx
             {
                 [Parameter("WinXP", Weight = .3F)]
                 [Parameter("Vista", "Win7", Weight = .5F)]
                 public string OS { get; set; }
            
                 [Parameter("EN-US")]
                 [Parameter("JP-JP", "CN-CH")]
                 [Parameter("HE-IL", "AR-SA")]
                 public string Language { get; set; }
             }
            
             var model = new Model&lt;OsConfigurationEx&gt;();
             foreach (OsConfigurationEx c in model.GenerateVariations(1))
             {
                 Console.WriteLine("{0} {1}",
                     c.OS,
                     c.Language);
             }
             </code>
             </example>
        </member>
        <member name="M:Microsoft.Test.VariationGeneration.ParameterAttribute.#ctor(System.Object[])">
            <summary>
            Instantiates an attribute with a list of values.
            </summary>
            <param name="values">A list of values.</param>
        </member>
        <member name="P:Microsoft.Test.VariationGeneration.ParameterAttribute.Values">
            <summary>
            The values that are used when generating a model parameter.
            </summary>
        </member>
        <member name="P:Microsoft.Test.VariationGeneration.ParameterAttribute.Weight">
            <summary>
            Optional. The weight to assign to a model parameter 
            that is created based on an attribute.
            </summary>
        </member>
        <member name="P:Microsoft.Test.VariationGeneration.ParameterAttribute.Tag">
            <summary>
            Optional. The tag to assign to a model parameter 
            that is created based on an attribute.
            </summary>
        </member>
        <member name="T:Microsoft.Test.VariationGeneration.Parameter`1">
            <summary>
            Represents a single variable and its values in the model whose values are of the specified type.
            Combinations of these values are used in the combinatorial generation of variations by the <see cref="T:Microsoft.Test.VariationGeneration.Model`1"/>.
            </summary>
            <remarks>
            Exhaustively testing all possible inputs to any nontrivial software component is generally not possible
            because of the enormous number of variations. Combinatorial testing is one approach to achieve high coverage
            with a much smaller set of variations. Pairwise, the most common combinatorial strategy, tests every possible 
            pair of values. Higher orders of combinations (three-wise, four-wise, and so on) can also be used for higher coverage
            at the expense of more variations. See <a href="http://pairwise.org">Pairwise Testing</a> and 
            <a href="http://www.pairwise.org/docs/pnsqc2006/PNSQC%20140%20-%20Jacek%20Czerwonka%20-%20Pairwise%20Testing%20-%20BW.pdf">
            Pairwise Testing in Real World</a> for more resources.
            </remarks>
            <typeparam name="T">The type of values that represent this parameter.</typeparam>
        </member>
        <member name="T:Microsoft.Test.VariationGeneration.ParameterBase">
            <summary>
            Provides a base class for the functionality that all parameters must implement.
            </summary>
        </member>
        <member name="M:Microsoft.Test.VariationGeneration.ParameterBase.#ctor(System.String)">
            <summary>
            Initializes a new instance of the base class using the specified name.
            </summary>
            <param name="name">The name of the parameter.</param>
        </member>
        <member name="M:Microsoft.Test.VariationGeneration.ParameterBase.GetAt(System.Int32)">
            <summary>
            Returns the value at the given index.
            </summary>
            <param name="index">The index.</param>
            <returns>The item.</returns>
        </member>
        <member name="P:Microsoft.Test.VariationGeneration.ParameterBase.Name">
            <summary>
            The name of the parameter.
            </summary>
        </member>
        <member name="P:Microsoft.Test.VariationGeneration.ParameterBase.Count">
            <summary>
            The number of values in this parameter.
            </summary>
        </member>
        <member name="M:Microsoft.Test.VariationGeneration.Parameter`1.#ctor(System.String)">
            <summary>
            Initializes a new instance of the parameter class using the specified name.
            </summary>
            <param name="name">The name of the parameter.</param>
        </member>
        <member name="M:Microsoft.Test.VariationGeneration.Parameter`1.GetValue(Microsoft.Test.VariationGeneration.Variation)">
            <summary>
            Returns the value of this parameter in this variation.
            </summary>
            <param name="v">The variation.</param>
            <returns>The value.</returns>
        </member>
        <member name="M:Microsoft.Test.VariationGeneration.Parameter`1.IndexOf(Microsoft.Test.VariationGeneration.ParameterValue{`0})">
            <summary>
            Determines the index of a specific item in the <see cref="T:Microsoft.Test.VariationGeneration.Parameter`1"/>.
            </summary>
            <param name="item">The object to locate in the <see cref="T:Microsoft.Test.VariationGeneration.Parameter`1"/>.</param>
            <returns>The index of the item (if the item is found in the list); otherwise, -1.</returns>
        </member>
        <member name="M:Microsoft.Test.VariationGeneration.Parameter`1.Insert(System.Int32,Microsoft.Test.VariationGeneration.ParameterValue{`0})">
            <summary>
            Inserts an item into the <see cref="T:Microsoft.Test.VariationGeneration.Parameter`1"/> at the specified index.
            </summary>
            <param name="index">The zero-based index where the item should be inserted.</param>
            <param name="item">The object to insert into the <see cref="T:Microsoft.Test.VariationGeneration.Parameter`1"/>.</param>
        </member>
        <member name="M:Microsoft.Test.VariationGeneration.Parameter`1.RemoveAt(System.Int32)">
            <summary>
            Removes the <see cref="T:Microsoft.Test.VariationGeneration.Parameter`1"/> value at the specified index.
            </summary>
            <param name="index">The zero-based index of the item that should be removed.</param>
        </member>
        <member name="M:Microsoft.Test.VariationGeneration.Parameter`1.Add(Microsoft.Test.VariationGeneration.ParameterValue{`0})">
            <summary>
            Adds a value to the <see cref="T:Microsoft.Test.VariationGeneration.Parameter`1"/>.
            </summary>
            <param name="item">The object to add to the <see cref="T:Microsoft.Test.VariationGeneration.Parameter`1"/>.</param>
        </member>
        <member name="M:Microsoft.Test.VariationGeneration.Parameter`1.Add(`0)">
            <summary>
            Adds a value to the <see cref="T:Microsoft.Test.VariationGeneration.Parameter`1"/>. This value is wrapped in a <see cref="T:Microsoft.Test.VariationGeneration.ParameterValue`1"/>.
            </summary>
            <param name="item">The value to wrap and add.</param>
        </member>
        <member name="M:Microsoft.Test.VariationGeneration.Parameter`1.Clear">
            <summary>
            Removes all values from the <see cref="T:Microsoft.Test.VariationGeneration.Parameter`1"/>.
            </summary>
        </member>
        <member name="M:Microsoft.Test.VariationGeneration.Parameter`1.Contains(Microsoft.Test.VariationGeneration.ParameterValue{`0})">
            <summary>
            Determines whether the <see cref="T:Microsoft.Test.VariationGeneration.Parameter`1"/> contains a specific value.
            </summary>
            <param name="item">The object to locate in the <see cref="T:Microsoft.Test.VariationGeneration.Parameter`1"/>.</param>
            <returns>true if the value is found in the <see cref="T:Microsoft.Test.VariationGeneration.Parameter`1"/>; otherwise, false.</returns>
        </member>
        <member name="M:Microsoft.Test.VariationGeneration.Parameter`1.CopyTo(Microsoft.Test.VariationGeneration.ParameterValue{`0}[],System.Int32)">
            <summary>
            Copies the elements of the <see cref="T:Microsoft.Test.VariationGeneration.Parameter`1"/> to an array, starting at a particular array index.
            </summary>
            <param name="array">The one-dimensional array that is the destination of the elements copied from <see cref="T:Microsoft.Test.VariationGeneration.Parameter`1"/>. The array must have zero-based indexing.</param>
            <param name="arrayIndex">The zero-based index in the array where copying begins.</param>
        </member>
        <member name="M:Microsoft.Test.VariationGeneration.Parameter`1.Remove(Microsoft.Test.VariationGeneration.ParameterValue{`0})">
            <summary>
            Removes the first occurrence of a specific value from the <see cref="T:Microsoft.Test.VariationGeneration.Parameter`1"/>.
            </summary>
            <param name="item">The value to remove from the <see cref="T:Microsoft.Test.VariationGeneration.Parameter`1"/>.</param>
            <returns>true if the value was successfully removed from the <see cref="T:Microsoft.Test.VariationGeneration.Parameter`1"/>; otherwise, false. This method also returns false if the value is not found in the original <see cref="T:Microsoft.Test.VariationGeneration.Parameter`1"/>.</returns>
        </member>
        <member name="M:Microsoft.Test.VariationGeneration.Parameter`1.GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the <see cref="T:Microsoft.Test.VariationGeneration.Parameter`1"/>.
            </summary>
            <returns>An IEnumerator(T) that can be used to iterate through the collection.</returns>
        </member>
        <member name="M:Microsoft.Test.VariationGeneration.Parameter`1.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Returns an enumerator that iterates through a collection.
            </summary>
            <returns>An IEnumerator object that can be used to iterate through the collection.</returns>
        </member>
        <member name="M:Microsoft.Test.VariationGeneration.Parameter`1.GetAt(System.Int32)">
            <summary>
            Returns the item at the given index.
            </summary>
            <param name="index">The index.</param>
            <returns>The item.</returns>
        </member>
        <member name="P:Microsoft.Test.VariationGeneration.Parameter`1.Item(System.Int32)">
            <summary>
            Gets or sets the value at the specified index.
            </summary>
            <param name="index">The zero-based index of the element to get or set.</param>
            <returns>The element at the specified index.</returns>
        </member>
        <member name="P:Microsoft.Test.VariationGeneration.Parameter`1.IsReadOnly">
            <summary>
            Returns false.
            </summary>
        </member>
        <member name="P:Microsoft.Test.VariationGeneration.Parameter`1.Count">
            <summary>
            The number of values in this parameter.
            </summary>
        </member>
        <member name="T:Microsoft.Test.Text.SubGroup">
            <summary>
            sub Group DataStructure
            </summary>
        </member>
        <member name="M:Microsoft.Test.Text.SubGroup.#ctor(Microsoft.Test.Text.UnicodeRange,System.String,System.String,Microsoft.Test.Text.UnicodeChart)">
            <summary>
            Define LineBreakDatabase class, 
            <a href="http://www.unicode.org/charts/">Newline</a>
            </summary>
        </member>
        <member name="P:Microsoft.Test.Text.SubGroup.UnicodeRange">
            <summary>
            SubGroupRange property
            </summary>
        </member>
        <member name="P:Microsoft.Test.Text.SubGroup.SubGroupName">
            <summary>
            SubGroupName property
            </summary>
        </member>
        <member name="P:Microsoft.Test.Text.SubGroup.UnicodeChart">
            <summary>
            Enum Chart
            </summary>
        </member>
        <member name="P:Microsoft.Test.Text.SubGroup.SubIds">
            <summary>
            SubIds property
            </summary>
        </member>
        <member name="T:Microsoft.Test.Text.LineBreakProperty">
            <summary>
            Collect line break code points
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.LineBreakProperty.lineBreakCharDictionary">
            <summary>
            Dictionary to store code points corresponding to culture.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.LineBreakProperty.MINNUMOFCODEPOINT">
            <summary>
            Define minimum code point needed to be a string has line break
            </summary>
        </member>
        <member name="M:Microsoft.Test.Text.LineBreakProperty.#ctor(System.Collections.ObjectModel.Collection{Microsoft.Test.Text.UnicodeRange})">
            <summary>
            Define LineBreakProperty class, 
            <a href="http://unicode.org/reports/tr13/tr13-5.html">Newline</a>
            </summary>
        </member>
        <member name="M:Microsoft.Test.Text.LineBreakProperty.IsInPropertyRange(System.Int32)">
            <summary>
            Check if code point is in the property range
            </summary>
        </member>
        <member name="M:Microsoft.Test.Text.LineBreakProperty.GetRandomCodePoints(System.Int32,System.Int32)">
            <summary>
            Get next line break points 
            </summary>
        </member>
        <member name="T:Microsoft.Test.Text.EudcProperty">
            <summary>
            Collect EUDC code points
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.EudcProperty.MINNUMOFCODEPOINT">
            <summary>
            Define minimum code point needed to be an EUDC string
            </summary>
        </member>
        <member name="M:Microsoft.Test.Text.EudcProperty.#ctor(Microsoft.Test.Text.UnicodeRangeDatabase,System.Collections.ObjectModel.Collection{Microsoft.Test.Text.UnicodeRange})">
            <summary>
            Define SurrogatePairDictionary class
            <a href="http://www.unicode.org/charts/PDF/UE000.pdf">Newline</a>
            </summary>
        </member>
        <member name="M:Microsoft.Test.Text.EudcProperty.IsInPropertyRange(System.Int32)">
            <summary>
            Check if code point is in the property range
            </summary>
        </member>
        <member name="M:Microsoft.Test.Text.EudcProperty.GetRandomCodePoints(System.Int32,System.Int32)">
            <summary>
            Get random EUDC code points
            </summary>
        </member>
        <member name="T:Microsoft.Test.ObjectComparison.ObjectComparisonMismatchType">
            <summary>
            Represents the type of mismatch.
            </summary>
        </member>
        <member name="F:Microsoft.Test.ObjectComparison.ObjectComparisonMismatchType.MissingRightNode">
            <summary>
            The node is missing in the right graph.
            </summary>
        </member>
        <member name="F:Microsoft.Test.ObjectComparison.ObjectComparisonMismatchType.MissingLeftNode">
            <summary>
            The node is missing in the left graph.
            </summary>
        </member>
        <member name="F:Microsoft.Test.ObjectComparison.ObjectComparisonMismatchType.RightNodeHasFewerChildren">
            <summary>
            The right node has fewer children than the left node.
            </summary>
        </member>
        <member name="F:Microsoft.Test.ObjectComparison.ObjectComparisonMismatchType.LeftNodeHasFewerChildren">
            <summary>
            The left node has fewer children than the right node.
            </summary>
        </member>
        <member name="F:Microsoft.Test.ObjectComparison.ObjectComparisonMismatchType.ObjectTypesDoNotMatch">
            <summary>
            The node types do not match.
            </summary>
        </member>
        <member name="F:Microsoft.Test.ObjectComparison.ObjectComparisonMismatchType.ObjectValuesDoNotMatch">
            <summary>
            The node values do not match.
            </summary>
        </member>
        <member name="F:Microsoft.Test.ObjectComparison.ObjectComparisonMismatchType.ComparisonStrategiesDoNotMatch">
            <summary>
            The comparison strategies of nodes are not the same.
            </summary>
        </member>
        <member name="T:Microsoft.Test.LeakDetection.NamespaceDoc">
            <summary>
            Contains facilities for capturing and analysis of the memory used by a process. 
            </summary>
        </member>
        <member name="M:Microsoft.Test.FaultInjection.SignatureParsing.MethodSignatureTranslator.GetTypeString(System.Type)">
            <summary>
            Returns an C#-style full name for the given Type, e.g. "System.Collection.Generic.List&lt;System.Int32&gt;.
            </summary>
        </member>
        <member name="M:Microsoft.Test.FaultInjection.SignatureParsing.MethodSignatureTranslator.GetCSharpMethodString(System.Reflection.MethodBase)">
            <summary>
            Returns an C#-style signature for the given method, i.e. the kind that can be input to Signature.ConvertSignature.
            </summary>
        </member>
        <member name="M:Microsoft.Test.FaultInjection.SignatureParsing.MethodSignatureTranslator.GetFormalMethodString(System.Reflection.MethodBase)">
            <summary>
            Returns a formal signature for the given method.
            </summary>
        </member>
        <member name="T:Microsoft.Test.FaultInjection.BuiltInConditions">
            <summary>
            Contains all built-in fault injection conditions.
            </summary>
            <remarks>
            For more information on how to use the BuiltInConditions class, see the <see cref="T:Microsoft.Test.FaultInjection.FaultSession"/> class. 
            All fault injection conditions implement the <see cref="T:Microsoft.Test.FaultInjection.ICondition"/> interface.
            </remarks> 
        </member>
        <member name="M:Microsoft.Test.FaultInjection.BuiltInConditions.TriggerIfCalledBy(System.String)">
            <summary>
            A built-in condition which triggers a fault if the faulted method is called by a specified method.</summary>
            <param name="caller">A string in the format:
            System.Console.WriteLine(string),
            Namespace&lt;T&gt;.OuterClass&lt;E&gt;.InnerClass&lt;F,G&gt;.MethodName&lt;H&gt;(T, E, F, H, List&lt;H&gt;).
            </param> 
        </member>
        <member name="M:Microsoft.Test.FaultInjection.BuiltInConditions.TriggerIfCalledBy(System.Reflection.MethodBase)">
            <summary>
            A built-in condition which triggers a fault if the faulted method is called by a specified method.</summary>
            <param name="caller">The target method's caller.
            </param> 
        </member>
        <member name="M:Microsoft.Test.FaultInjection.BuiltInConditions.TriggerIfStackContains(System.String)">
            <summary>
            A built-in condition which triggers a fault if the current call stack contains a specified method.
            </summary>
            <param name="method">A string in the format:
            System.Console.WriteLine(string),
            Namespace&lt;T&gt;.OuterClass&lt;E&gt;.InnerClass&lt;F,G&gt;.MethodName&lt;H&gt;(T, E, F, H, List&lt;H&gt;).
            </param>
        </member>
        <member name="M:Microsoft.Test.FaultInjection.BuiltInConditions.TriggerIfStackContains(System.Reflection.MethodBase)">
            <summary>
            A built-in condition which triggers a fault if the current call stack contains a specified method.
            </summary>
            <param name="method">A method in the stack below the target method.
            </param>
        </member>
        <member name="M:Microsoft.Test.FaultInjection.BuiltInConditions.TriggerOnEveryNthCall(System.Int32)">
            <summary>
            A built-in condition which triggers a fault after every n times the faulted method is called.
            </summary>
            <param name="n">A positive number.</param>      
            <remarks>
            A System.Argument exception is thrown if n is not positive.
            </remarks>
        </member>
        <member name="M:Microsoft.Test.FaultInjection.BuiltInConditions.TriggerOnNthCall(System.Int32)">
            <summary>
            A built-in condition which triggers a fault after the first n times the faulted method is called.
            </summary>
            <param name="n">A positive number.</param>      
            <remarks>
            A System.Argument exception is thrown if n is not positive.
            </remarks>
        </member>
        <member name="M:Microsoft.Test.FaultInjection.BuiltInConditions.TriggerOnNthCallBy(System.Int32,System.String)">
            <summary>
            A built-in condition which triggers a fault after the faulted method is called n times by the specified caller.
            </summary>
            <param name="n">A positive number.</param>
            <param name="caller">A string in the format:
            System.Console.WriteLine(string),
            Namespace&lt;T&gt;.OuterClass&lt;E&gt;.InnerClass&lt;F,G&gt;.MethodName&lt;H&gt;(T, E, F, H, List&lt;H&gt;).
            </param>   
        </member>
        <member name="M:Microsoft.Test.FaultInjection.BuiltInConditions.TriggerOnNthCallBy(System.Int32,System.Reflection.MethodBase)">
            <summary>
            A built-in condition which triggers a fault after the faulted method is called n times by the specified caller.
            </summary>
            <param name="n">A positive number.</param>
            <param name="caller">The target method's caller.</param>   
        </member>
        <member name="P:Microsoft.Test.FaultInjection.BuiltInConditions.TriggerOnEveryCall">
            <summary>
            A built-in condition which triggers a fault every time the faulted method is called.
            </summary>
        </member>
        <member name="P:Microsoft.Test.FaultInjection.BuiltInConditions.TriggerOnFirstCall">
            <summary>
            A built-in condition which triggers a fault the first time the faulted method is called.
            </summary>
        </member>
        <member name="P:Microsoft.Test.FaultInjection.BuiltInConditions.NeverTrigger">
            <summary>
            A built-in condition which never triggers a fault. This condition can be used to turn off a fault rule.
            </summary>
        </member>
        <member name="T:Microsoft.Test.CommandLineParsing.CommandLineDictionary">
             <summary>
             Represents a dictionary that is aware of command line input patterns. All lookups for keys ignore case.
             </summary>
            
             <example>
             The example below demonstrates parsing a command line such as "Test.exe /verbose /runId=10"
             <code>
             CommandLineDictionary d = CommandLineDictionary.FromArguments(args);
            
             bool verbose = d.ContainsKey("verbose");
             int runId = Int32.Parse(d["runId"]);
             </code>
             </example>
            
             <example>
             You can also explicitly provide key and value identifiers for the cases
             that use other characters (rather than '/' and '=') as key/value identifiers. 
             The example below demonstrates parsing a command line such as "Test.exe -verbose -runId:10"
             <code>
             CommandLineDictionary d = CommandLineDictionary.FromArguments(args, '-', ':');  
            
             bool verbose = d.ContainsKey("verbose");
             int runId = Int32.Parse(d["runId"]);
             </code>
             </example>
        </member>
        <member name="M:Microsoft.Test.CommandLineParsing.CommandLineDictionary.#ctor">
            <summary>
            Create an empty CommandLineDictionary using the default key/value
            separators of '/' and '='.
            </summary>
        </member>
        <member name="M:Microsoft.Test.CommandLineParsing.CommandLineDictionary.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Creates a dictionary using a serialization info and context. This
            is used for Xml deserialization and isn't normally called from user code.
            </summary>
            <param name="info">Data needed to deserialize the dictionary.</param>
            <param name="context">Describes source and destination of the stream.</param>
        </member>
        <member name="M:Microsoft.Test.CommandLineParsing.CommandLineDictionary.FromArguments(System.Collections.Generic.IEnumerable{System.String})">
            <summary>
            Initializes a new instance of the CommandLineDictionary class, populating a 
            dictionary with key/value pairs from a command line that supports syntax 
            where options are provided in the form "/key=value".
            </summary>
            <param name="arguments">Key/value pairs.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Test.CommandLineParsing.CommandLineDictionary.FromArguments(System.Collections.Generic.IEnumerable{System.String},System.Char,System.Char)">
            <summary>
            Creates a dictionary that is populated with key/value pairs from a command line 
            that supports syntax where options are provided in the form "/key=value". 
            This method supports the ability to specify delimiter characters for options in 
            the command line.
            </summary>
            <param name="arguments">Key/value pairs.</param>
            <param name="keyCharacter">A character that precedes a key.</param>
            <param name="valueCharacter">A character that separates a key from a value.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Test.CommandLineParsing.CommandLineDictionary.ToString">
            <summary>
            Converts dictionary contents to a command line string of key/value pairs.
            </summary>
            <returns>Command line string.</returns>
        </member>
        <member name="M:Microsoft.Test.CommandLineParsing.CommandLineDictionary.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Populates a SerializationInfo with data needed to serialize the dictionary.
            This is used by Xml serialization and isn't normally called from user code.
            </summary>
            <param name="info">SerializationInfo object to populate.</param>
            <param name="context">StreamingContext to populate data from.</param>
        </member>
        <member name="M:Microsoft.Test.CommandLineParsing.CommandLineDictionary.AddArgument(System.String)">
            <summary>
            Adds the specified argument to the dictionary
            </summary>
            <param name="argument">Key/Value pair argument.</param>
        </member>
        <member name="P:Microsoft.Test.CommandLineParsing.CommandLineDictionary.KeyCharacter">
            <summary>
            Character to treat as the key character in the value line.
            If the arguments should be of the form /Foo=Bar, then the
            key character is /. (Which is the default)
            </summary>
        </member>
        <member name="P:Microsoft.Test.CommandLineParsing.CommandLineDictionary.ValueCharacter">
            <summary>
            Character to treat as the value character in the value line.
            If the arguments should be of the form /Foo=Bar, then the
            value character is =. (Which is the default)
            </summary>
        </member>
        <member name="T:Microsoft.Test.VisualVerification.Snapshot">
             <summary>
             Represents image pixels in a two-dimensional array for use in visual verification.
             Every element of the array represents a pixel at the given [row, column] of the image.
             A Snapshot object can be instantiated from a file or captured from the screen.
             </summary>
            
             <example>
             Takes a snapshot and verifies it is an absolute match to an expected image.
             <code>
             Snapshot actual = Snapshot.FromRectangle(new Rectangle(0, 0, 800, 600));
             Snapshot expected = Snapshot.FromFile("Expected.bmp");
             Snapshot diff = actual.CompareTo(expected);
             
             SnapshotVerifier v = new SnapshotColorVerifier(Color.Black, new ColorDifference(0, 0, 0, 0));
             if (v.Verify(diff) == VerificationResult.Fail)
             {
                 diff.ToFile("Actual.bmp", ImageFormat.Bmp);
             }
             </code>
             </example>
        </member>
        <member name="M:Microsoft.Test.VisualVerification.Snapshot.#ctor(System.Int32,System.Int32)">
            <summary>
            Snapshot constructor - creates buffer of black, opaque pixels. 
            </summary>
        </member>
        <member name="M:Microsoft.Test.VisualVerification.Snapshot.FromFile(System.String)">
            <summary>
            Creates a Snapshot instance from data in the specified image file.
            </summary>
            <param name="filePath">Path to the image file.</param>
            <returns>A Snapshot instance containing the pixels in the loaded file.</returns>
        </member>
        <member name="M:Microsoft.Test.VisualVerification.Snapshot.FromWindow(System.IntPtr,Microsoft.Test.VisualVerification.WindowSnapshotMode)">
            <summary>
            Creates a Snapshot instance populated with pixels sampled from the rectangle of the specified window.
            </summary>
            <param name="windowHandle">The Win32 window handle (also known as an HWND), identifying the window to capture from.</param>
            <param name="windowSnapshotMode">Determines if window border region should captured as part of Snapshot.</param>
            <returns>A Snapshot instance of the pixels captured.</returns>
        </member>
        <member name="M:Microsoft.Test.VisualVerification.Snapshot.FromRectangle(System.Drawing.Rectangle)">
            <summary>
            Creates a Snapshot instance populated with pixels sampled from the specified screen rectangle, from the context of the Desktop.
            </summary>
            <param name="rectangle">Rectangle of the screen region to be sampled from.</param>
            <returns>A Snapshot instance of the pixels from the bounds of the screen rectangle.</returns>
        </member>
        <member name="M:Microsoft.Test.VisualVerification.Snapshot.FromBitmap(System.Drawing.Bitmap)">
            <summary>
            Instantiates a Snapshot representation from a Windows Bitmap.
            </summary>
            <param name="source">Source bitmap to be converted.</param>
            <returns>A snapshot based on the source buffer.</returns>
        </member>
        <member name="M:Microsoft.Test.VisualVerification.Snapshot.Clone">
            <summary>
            Creates a deep-copied clone Snapshot with the same value as the existing instance.
            </summary>
            <returns>Clone instance</returns>
        </member>
        <member name="M:Microsoft.Test.VisualVerification.Snapshot.CompareTo(Microsoft.Test.VisualVerification.Snapshot)">
            <summary>
            Compares the current Snapshot instance to the specified Snapshot to produce a difference image. 
            Note: This does not compare alpha channels.
            </summary>
            <param name="snapshot">The Snapshot to be compared to.</param>
            <returns>A new Snapshot object representing the difference image (i.e. the result of the comparison).</returns>
        </member>
        <member name="M:Microsoft.Test.VisualVerification.Snapshot.CompareTo(Microsoft.Test.VisualVerification.Snapshot,System.Boolean)">
            <summary>
            Compares the current Snapshot instance to the specified Snapshot to produce a difference image. 
            </summary>
            <param name="snapshot">The target Snapshot to be compared to.</param>
            <param name="compareAlphaChannel">If true, compares alpha channels. If false, the alpha channel difference values are fixed to 255.</param>
            <returns>A new Snapshot object representing the difference image (i.e. the result of the comparison).</returns>
        </member>
        <member name="M:Microsoft.Test.VisualVerification.Snapshot.DrawLine(System.Int32,System.Int32,System.Int32,System.Drawing.Color)">
            <summary>
            Draw a vertical line from the bottom of the specified column up to the height given.
            </summary>
            <param name="col">which column to draw in</param>
            <param name="floor">the lowest pixel of the line</param>
            <param name="height">the height of the line</param>
            <param name="color">the color of the line</param>
        </member>
        <member name="M:Microsoft.Test.VisualVerification.Snapshot.ToFile(System.String,System.Drawing.Imaging.ImageFormat)">
            <summary>
            Writes the current Snapshot (at 32 bits per pixel) to a file.
            </summary>
            <param name="filePath">The path to the output file.</param>
            <param name="imageFormat">The file storage format to be used.</param>
        </member>
        <member name="M:Microsoft.Test.VisualVerification.Snapshot.Crop(System.Drawing.Rectangle)">
            <summary>
            Creates a new Snapshot based on the cropped bounds of the current snapshot.
            </summary>
            <param name="bounds">The bounding rectangle of the Snapshot.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Test.VisualVerification.Snapshot.Resize(System.Drawing.Size)">
            <summary>
            Creates a new Snapshot of the specified size from the original using bilinear interpolation. 
            </summary>
            <param name="size">Desired size of new image</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Test.VisualVerification.Snapshot.Or(Microsoft.Test.VisualVerification.Snapshot)">
            <summary>
            Modifies the current image to contain the result of a bitwise OR of this Snapshot 
            and the mask.  This technique can be used to merge data from two images.
            http://en.wikipedia.org/wiki/Bitmask#Image_masks
            </summary>
            <param name="mask">Mask Snapshot to use in the bitwise OR operation.</param>
        </member>
        <member name="M:Microsoft.Test.VisualVerification.Snapshot.And(Microsoft.Test.VisualVerification.Snapshot)">
            <summary>
            Modifies the current image to contain the result of a bitwise AND of this Snapshot 
            and the mask.  This technique can be used to remove data from an image.
            http://en.wikipedia.org/wiki/Bitmask#Image_masks
            </summary>
            <param name="mask">Mask Snapshot to use in the bitwise AND operation.</param>
        </member>
        <member name="M:Microsoft.Test.VisualVerification.Snapshot.Find(Microsoft.Test.VisualVerification.Snapshot)">
            <summary>
            Find all instances of a subimage in this image. 
            </summary>
            <param name="subimage">The subimage to find in the larger image. Must be smaller than the image in both dimensions.</param>
            <returns>A Collection of rectangles indicating the matching locations.
            If there is no match, the Collection returned will be empty.</returns>
        </member>
        <member name="M:Microsoft.Test.VisualVerification.Snapshot.Find(Microsoft.Test.VisualVerification.Snapshot,Microsoft.Test.VisualVerification.SnapshotVerifier)">
            <summary>
            Find all instances of a subimage in this image. 
            </summary>
            <param name="subimage">The subimage to find in the larger image. Must be smaller than the image in both dimensions.</param>
            <param name="verifier">Custom SnapshotVerifier, used to compare the subimages.</param>
            <returns>A Collection of rectangles indicating the matching locations.
            If there is no match, the Collection returned will be empty.</returns>
        </member>
        <member name="M:Microsoft.Test.VisualVerification.Snapshot.CompareSubImage(Microsoft.Test.VisualVerification.Snapshot,System.Int32,System.Int32,Microsoft.Test.VisualVerification.SnapshotVerifier)">
            <summary>
            Private subimage comparer to help FindSubImage. This performs the actual work of comparing pixels.
            </summary>
            <param name="subimage">The subimage to find.</param>
            <param name="startingRow">The row offset into this snapshot to look for the subimage.</param>
            <param name="startingColumn">The column offset into this snapshot to look for the subimage.</param>
            <param name="verifier">Custom subimage comparison verifier, if specified.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Test.VisualVerification.Snapshot.BilinearSample(System.Single,System.Single)">
            <summary>
            Bilinearly interpolate to blend the pixels around the specified point - Takes the weighted average of the nearest four pixels.
            Not mip-mapped - downsampling can be mis-representative.
            </summary>
            <param name="row">The row being sampled on.</param>
            <param name="col">The column being sampled on.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Test.VisualVerification.Snapshot.CreateBitmapFromSnapshot">
            <summary>
            Instantiates a Bitmap with contents of TestBitmap.
            </summary>
            <returns>A Bitmap containing the a copy of the Snapshot buffer data.</returns>
        </member>
        <member name="M:Microsoft.Test.VisualVerification.Snapshot.CaptureBitmap(System.IntPtr,System.Drawing.Rectangle)">
            <summary>
            Captures a Bitmap from the deviceContext on the specified areaToCopy.
            </summary>
            <param name="sourceDeviceContext">The device context to capture the region from.</param>
            <param name="rectangle">The rectangular bounds of the area to be captured.</param>
            <returns>A Bitmap representation of the region specified.</returns>
        </member>
        <member name="M:Microsoft.Test.VisualVerification.Snapshot.IsValidPixel(System.Int32,System.Int32)">
            <summary>
            Tests if the specified pixel coordinate is contained within the bounds of the buffer.
            </summary>
            <param name="row"></param>
            <param name="column"></param>
        </member>
        <member name="F:Microsoft.Test.VisualVerification.Snapshot.buffer">
            <summary>
            The color buffer is organized in row-Major form i.e. [row, column] => [y,x]
            </summary>
        </member>
        <member name="P:Microsoft.Test.VisualVerification.Snapshot.Item(System.Int32,System.Int32)">
            <summary>
            Returns a Color instance for the pixel at the specified row and column.
            </summary>
            <param name="row">Zero-based row position of the pixel.</param>
            <param name="column">Zero-based column position of the pixel.</param>
            <returns>A Color instance for the pixel at the specified row and column.</returns>
        </member>
        <member name="P:Microsoft.Test.VisualVerification.Snapshot.Width">
            <summary>
            Returns the width of the pixel buffer.
            </summary>
        </member>
        <member name="P:Microsoft.Test.VisualVerification.Snapshot.Height">
            <summary>
            Returns the height of the pixel buffer.
            </summary>
        </member>
        <member name="T:Microsoft.Test.VisualVerification.Snapshot.PixelData">
            <summary>
            A BGRA pixel data structure - This is only used for data conversion and export purposes for conversion with Bitmap buffer. 
            NOTE: This order aligns with 32 bpp ARGB pixel Format.
            </summary>
        </member>
        <member name="T:Microsoft.Test.VisualVerification.RECT">
            <summary>
            WIN32 RECT structure
            </summary>
        </member>
        <member name="T:Microsoft.Test.VisualVerification.RasterOperationCodeEnum">
            <summary>
            RasterOperation used by GDI BitBlt and StretchBlt methods
            </summary>
        </member>
        <member name="F:Microsoft.Test.VisualVerification.RasterOperationCodeEnum.SRCCOPY">
            <summary/>
        </member>
        <member name="F:Microsoft.Test.VisualVerification.RasterOperationCodeEnum.SRCPAINT">
            <summary/>
        </member>
        <member name="F:Microsoft.Test.VisualVerification.RasterOperationCodeEnum.SRCAND">
            <summary/>
        </member>
        <member name="F:Microsoft.Test.VisualVerification.RasterOperationCodeEnum.SRCINVERT">
            <summary/>
        </member>
        <member name="F:Microsoft.Test.VisualVerification.RasterOperationCodeEnum.SRCERASE">
            <summary/>
        </member>
        <member name="F:Microsoft.Test.VisualVerification.RasterOperationCodeEnum.NOTSRCCOPY">
            <summary/>
        </member>
        <member name="F:Microsoft.Test.VisualVerification.RasterOperationCodeEnum.NOTSRCERASE">
            <summary/>
        </member>
        <member name="F:Microsoft.Test.VisualVerification.RasterOperationCodeEnum.MERGECOPY">
            <summary/>
        </member>
        <member name="F:Microsoft.Test.VisualVerification.RasterOperationCodeEnum.MERGEPAINT">
            <summary/>
        </member>
        <member name="F:Microsoft.Test.VisualVerification.RasterOperationCodeEnum.PATCOPY">
            <summary/>
        </member>
        <member name="F:Microsoft.Test.VisualVerification.RasterOperationCodeEnum.PATPAINT">
            <summary/>
        </member>
        <member name="F:Microsoft.Test.VisualVerification.RasterOperationCodeEnum.PATINVERT">
            <summary/>
        </member>
        <member name="F:Microsoft.Test.VisualVerification.RasterOperationCodeEnum.DSTINVERT">
            <summary/>
        </member>
        <member name="F:Microsoft.Test.VisualVerification.RasterOperationCodeEnum.BLACKNESS">
            <summary/>
        </member>
        <member name="F:Microsoft.Test.VisualVerification.RasterOperationCodeEnum.WHITENESS">
            <summary/>
        </member>
        <member name="F:Microsoft.Test.VisualVerification.RasterOperationCodeEnum.CAPTUREBLT">
            <summary/>
        </member>
        <member name="T:Microsoft.Test.VisualVerification.NativeMethods">
            <summary>
            Native methods
            </summary>
        </member>
        <member name="T:Microsoft.Test.VariationGeneration.ParameterInteractionTable`1">
            <summary>
            Table containing all the interactions between parameters in the model, and all possible value combinations with their current state.
            </summary>
        </member>
        <member name="M:Microsoft.Test.VariationGeneration.ParameterInteractionTable`1.IsCovered">
            <summary>
            Test whether all value combinations are Covered or Excluded
            </summary>
            <returns>The result</returns>
        </member>
        <member name="P:Microsoft.Test.VariationGeneration.ParameterInteractionTable`1.ExcludedCombinations">
            <summary>
            Returns all excluded combinations in the table
            </summary>
        </member>
        <member name="T:Microsoft.Test.VariationGeneration.ParameterInteraction">
            <summary>
            A table containing a subset of parameters and all the possible value combinations of that subset.
            </summary>
        </member>
        <member name="M:Microsoft.Test.VariationGeneration.ParameterInteraction.Equals(System.Object)">
            <summary>
            Returns true when obj refers to the same subset of parameters.
            </summary>
            <param name="obj">Object to compare</param>
            <returns>Whether subsets are equal</returns>
        </member>
        <member name="M:Microsoft.Test.VariationGeneration.ParameterInteraction.Merge``1(System.Collections.Generic.IList{Microsoft.Test.VariationGeneration.ParameterBase},Microsoft.Test.VariationGeneration.ParameterInteraction,Microsoft.Test.VariationGeneration.ParameterInteraction,System.Func{Microsoft.Test.VariationGeneration.ValueCombinationState,Microsoft.Test.VariationGeneration.ValueCombinationState,Microsoft.Test.VariationGeneration.ValueCombinationState})">
            <summary>
            Returns a new table that is the union of the input tables.
            </summary>
            <param name="parameters">The model's parameters</param>
            <param name="first">First table</param>
            <param name="second">Second table</param>
            <param name="newState">Function to calculate state of merged value combinations</param>
            <returns>The new table</returns>
        </member>
        <member name="T:Microsoft.Test.Text.TextNormalizationProperty">
            <summary>
            TextNormalization property
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.TextNormalizationProperty.textNormalizationPropertyDictionary">
            <summary>
            Dictionary to store code points corresponding to culture.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.TextNormalizationProperty.MINNUMOFCODEPOINT">
            <summary>
            Define minimum code point needed to be a text normalization string
            </summary>
        </member>
        <member name="M:Microsoft.Test.Text.TextNormalizationProperty.#ctor(Microsoft.Test.Text.UnicodeRangeDatabase,System.Collections.ObjectModel.Collection{Microsoft.Test.Text.UnicodeRange})">
            <summary>
            Define SurrogatePairDictionary class
            <a href="http://www.unicode.org/reports/tr15/">Newline</a>
            <a href="http://www.unicode.org/charts/normalization/">Newline</a>
            </summary>
        </member>
        <member name="M:Microsoft.Test.Text.TextNormalizationProperty.InitializeTextNormalizationPropertyDictionary(System.Collections.ObjectModel.Collection{Microsoft.Test.Text.UnicodeRange})">
            <summary>
            Dictionary to store code points corresponding to culture.
            </summary>
        </member>
        <member name="M:Microsoft.Test.Text.TextNormalizationProperty.IsInPropertyRange(System.Int32)">
            <summary>
            Check if code point is in the property range
            </summary>
        </member>
        <member name="M:Microsoft.Test.Text.TextNormalizationProperty.GetRandomCodePoints(System.Int32,System.Int32)">
            <summary>
            Get random normalizeable code points
            </summary>
        </member>
        <member name="T:Microsoft.Test.VisualVerification.Histogram">
            <summary>
            The Histogram class represents a histogram curve, expressed in terms of frequency (proportion of total pixels) 
            over brightness (from 0 to 255). In other words, the Histogram class represents the percentage (proportion) of 
            pixels that have brightness of 0, 1, etc. <a href="http://en.wikipedia.org/wiki/Image_histogram">This page</a> provides 
            a good introduction to <i>image histograms</i>.
            <p/>
            For testing purposes "brightness" is often equated to "difference". Thus, one is able to construct a "difference
            histogram" from a "difference shapshot" and compare that histogram to a histogram of "expected maximum differences" 
            (also knows as a "tolerance histogram") in order to determine whether a visual verification test passes or fails.
            <p/>
            A Histogram object can be loaded from a XML file or generated from a Snapshot object.
            </summary>
        </member>
        <member name="M:Microsoft.Test.VisualVerification.Histogram.#ctor">
            <summary>
            Creates a zero tolerance histogram.
            </summary>
        </member>
        <member name="M:Microsoft.Test.VisualVerification.Histogram.FromSnapshot(Microsoft.Test.VisualVerification.Snapshot)">
            <summary>
            Creates a Histogram object from an existing Snapshot object.
            </summary>
            <param name="snapshot">The Snapshot object to derive the Histogram from.</param>
            <returns>A new instance of Histogram, based on the provided snapshot.</returns>
        </member>
        <member name="M:Microsoft.Test.VisualVerification.Histogram.FromFile(System.String)">
            <summary>
            Creates a Histogram object from a histogram curve file.
            </summary>
            <param name="filePath">Name of the file containing the histogram curve.</param>
            <returns>A new instance of Histogram, based on the specified file.</returns>
        </member>
        <member name="M:Microsoft.Test.VisualVerification.Histogram.ToGraph(System.String,System.Drawing.Imaging.ImageFormat)">
            <summary>
            Create a snapshot to visualize this histogram, and save it to a file.
            The graph will be 100 pixels high and 256 columns wide - one for each 'bin' in the histogram.
            The snapshot generated will be framed and slightly larger.
            </summary>
        </member>
        <member name="M:Microsoft.Test.VisualVerification.Histogram.Merge(Microsoft.Test.VisualVerification.Histogram)">
            <summary>
            Merges the specified input histogram curve with the current histogram by accumulating the 
            per-brightness peak error quantities of two histograms. The Merge operation merges the peak 
            values of the two histograms.
            </summary>
            <param name="histogram">The histogram curve to be merged with.</param>
            <returns>A new Histogram object, containing the peak values of both histogram curves.</returns>
        </member>
        <member name="M:Microsoft.Test.VisualVerification.Histogram.ToFile(System.String)">
            <summary>
            Saves the Histogram object to an XML file representation.
            </summary>
            <param name="filePath">The path of the XML histogram file to be stored.</param>
        </member>
        <member name="M:Microsoft.Test.VisualVerification.Histogram.IsLessThan(Microsoft.Test.VisualVerification.Histogram)">
            <summary>
            Evaluates if the frequencies on this histogram curve are less than supplied histogram for all levels of brightness
            Note: The 0 brightness level frequency values are not evaluated here - this is where the balance of pixels reside.
            </summary>
            <param name="tolerance">The histogram curve to be tested against</param>
            <returns>True if all brightness frequencies of the tolerance histogram exceed this histogram. False otherwise.</returns>
        </member>
        <member name="M:Microsoft.Test.VisualVerification.Histogram.InterpolatePoints(System.Collections.Generic.SortedDictionary{System.Byte,System.Double})">
            <summary>
            Linearly Interpolates along the sparse set of points in the LoadTable to produce a fully populated Histogram object.
            </summary>
            <param name="loadTable">The sparse set of points representing the Histogram.</param>
        </member>
        <member name="M:Microsoft.Test.VisualVerification.Histogram.LinearInterpolate(System.Double,System.Double,System.Double)">
            <summary>
            Provides a sample via linear interpolation between start and end value by specified proportion.
            </summary>
            <param name="proportion">The proportion of weight to be allocated to the start value (from 0 to 1).</param>
            <param name="startValue">The starting value to start interpolating from.</param>
            <param name="endValue">The end value to stop interpolation at.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Test.VisualVerification.Histogram.VerifyPoint(System.Byte,System.Double)">
            <summary>
            Throws if x or y is invalid.
            </summary>
            <param name="x">X Coordinate.</param>
            <param name="y">Y Coordinate.</param>
        </member>
        <member name="P:Microsoft.Test.VisualVerification.Histogram.Item(System.Int32)">
            <summary>
            The data of the histogram.
            </summary>
            <param name="column">Which column of the histogram you want.</param>
            <returns>A double value between 0 and 1.</returns>
        </member>
        <member name="T:Microsoft.Test.VariationGeneration.InternalVariationGenerationException">
            <summary>
            Indicates an error in the generated internal variation table prevents completion of generation.
            This indicates a bug in internal generation engine.
            </summary>
        </member>
        <member name="T:Microsoft.Test.Text.UnicodeChart">
             <summary>
             Specifies a <a href="http://unicode.org/charts">Unicode character code chart</a>.
             </summary>
            
             <remarks>
             The Unicode standard defines a number of different character subsets, which are called 
             <b>Unicode character code charts</b> (or <b>Unicode charts</b> for short). These charts are available 
             on <a href="http://unicode.org/charts">http://unicode.org/charts</a>. The charts divide and categorize
             all symbols available in the Unicode range (0x0000 - 0x10FFFF) according to their common characteristics. 
             </remarks>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.AdditionalArrows">
            <summary>
            Additional Arrows Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.AdditionalShapes">
            <summary>
            Additional Shapes Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.AdditionalSquaredSymbols">
            <summary>
            Additional Squared Symbols Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.AegeanNumbers">
            <summary>
            Aegean Numbers Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.AlphabeticPresentationForms">
            <summary>
            Alphabetic Presentation Forms Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.AncientGreekMusicalNotation">
            <summary>
            Ancient Greek Musical Notation Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.AncientGreekNumbers">
            <summary>
            Ancient Greek Numbers Chart
            </summary> 
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.AncientSymbols">
            <summary>
            Ancient Symbols Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.AplSymbols">
            <summary>
            APL symbols Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Arabic">
            <summary>
            Arabic Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.ArabicPresentationFormsA">
            <summary>
            Arabic Presentation Forms-A Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.ArabicPresentationFormsB">
            <summary>
            Arabic Presentation Forms-B Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.ArabicSupplement">
            <summary>
            Arabic Supplement Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.AramaicImperial">
            <summary>
            Aramaic Imperial Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Armenian">
            <summary>
            Armenian Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.ArmenianLigatures">
            <summary>
            Armenian Ligatures Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Arrows">
            <summary>
            Arrows Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.AsciiCharacters">
            <summary>
            ASCII Characters Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.AsciiDigits">
            <summary>
            ASCII Digits Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.AsciiPunctuation">
            <summary>
            ASCII Punctuation Chart
            </summary> 
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.AtEndOf">
            <summary>
            Same as BMP Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Avestan">
            <summary>
            Avestan Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Balinese">
            <summary>
            Balinese Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Bamum">
            <summary>
            Bamum Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.BasicOperatorsDivisionMultiplication">
            <summary>
            Basic operators Division Multiplication Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.BasicOperatorsPlusFactorial">
            <summary>
            Basic operators Plus Factorial Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Bengali">
            <summary>
            Bengali Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.BlockElements">
            <summary>
            Block Elements Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Bmp">
            <summary>
            BMP Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Bopomofo">
            <summary>
            Bopomofo Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.BopomofoExtended">
            <summary>
            Bopomofo Extended Chart
            </summary> 
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.BoxDrawing">
            <summary>
            Box Drawing Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.BraillePatterns">
            <summary>
            Braille Patterns Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Buginese">
            <summary>
            Buginese Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Buhid">
            <summary>
            Buhid Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.ByzantineMusicalSymbols">
            <summary>
            Byzantine Musical Symbols Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.C0">
            <summary>
            C0 Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.C1">
            <summary>
            C1 Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.CardSuits">
            <summary>
            Card suits Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Carian">
            <summary>
            Carian Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Cham">
            <summary>
            Cham Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Cherokee">
            <summary>
            Cherokee Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.ChessCheckers">
            <summary>
            Chess/Checkers Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.CjkCompatibility">
            <summary>
            CJK Compatibility Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.CjkCompatibilityForms">
            <summary>
            CJK Compatibility Forms Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.CjkCompatibilityIdeographs">
            <summary>
            CJK Compatibility Ideographs Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.CjkCompatibilityIdeographsSupplement">
            <summary>
            CJK Compatibility Ideographs Supplement Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.CjkExtensionA">
            <summary>
            CJK ExtensionA Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.CjkExtensionB">
            <summary>
            CJK Extension-B Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.CjkExtensionC">
            <summary>
            CJK Extension-C Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.CjkKangXiRadicals">
            <summary>
            CJK Radicals / KangXi Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.CjkRadicalsSupplement">
            <summary>
            CJK Radicals Supplement
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.CjkStrokes">
            <summary>
            CJK Strokes Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.CjkSymbolsAndPunctuation">
            <summary>
            CJK Symbols and Punctuation Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.CjkUnifiedIdeographs">
            <summary>
            CJK Unified Ideographs Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.CombiningDiacriticalMarks">
            <summary>
            Combining Diacritical Marks Chart
            </summary>   
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.CombiningDiacriticalMarksForSymbols">
            <summary>
            Combining Diacritical Marks for Symbols Chart
            </summary>   
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.CombiningDiacriticalMarksSupplement">
            <summary>
            Combining Diacritical Marks Supplement Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.CombiningHalfMarks">
            <summary>
            Combining HalfMarks Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.CommonIndicNumberForms">
            <summary>
            Common Indic Number Forms Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.ControlPictures">
            <summary>
            Control Pictures Chart
            </summary>  
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Controls">
            <summary>
            C0 and C1 Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Coptic">
            <summary>
            Coptic Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.CopticInGreekBlock">
            <summary>
            Coptic in Greek Block Chart
            </summary> 
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.CountingRodNumerals">
            <summary>
            Counting Rod Numerals Chart
            </summary> 
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Cuneiform">
            <summary>
            Cuneiform Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.CuneiformNumbersAndPunctuation">
            <summary>
            Cuneiform Numbers and Punctuation Chart
            </summary> 
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.CurrencySymbols">
            <summary>
            Currency Symbols Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.CypriotSyllabary">
            <summary>
            Cypriot Syllabary Chart 
            </summary> 
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Cyrillic">
            <summary>
            Cyrillic Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.CyrillicExtendedA">
            <summary>
            Cyrillic Extended-A Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.CyrillicExtendedB">
            <summary>
            Cyrillic Extended-B Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.CyrillicSupplement">
            <summary>
            Cyrillic Supplement Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Deseret">
            <summary>
            Deseret Chart 
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Devanagari">
            <summary>
            Devanagari Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.DevanagariExtended">
            <summary>
            Devanagari Extended Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Dingbats">
            <summary>
            Dingbats Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.DollarSign">
            <summary>
            Dollar Sign Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.DominoTiles">
            <summary>
            Domino Tiles Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.EgyptianHieroglyphs">
            <summary>
            Egyptian Hieroglyphs Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.EnclosedAlphanumerics">
            <summary>
            Enclosed Alphanumerics Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.EnclosedAlphanumericSupplement">
            <summary>
            Enclosed Alphanumeric Supplement Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.EnclosedCjkLettersAndMonths">
            <summary>
            Enclosed CJK Letters and Months Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.EnclosedIdeographicSupplement">
            <summary>
            Enclosed Ideographic Supplement Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Ethiopic">
            <summary>
            Ethiopic Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.EthiopicExtended">
            <summary>
            Ethiopic Extended Chart
            </summary> 
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.EthiopicSupplement">
            <summary>
            Ethiopic Supplement Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.EuroSign">
            <summary>
            Euro Sign Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.FloorsAndCeilings">
            <summary>
            Floors and ceilings
            </summary>  
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.FullwidthAsciiDigits">
            <summary>
            Fullwidth ASCII Digits Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.FullwidthAsciiPunctuation">
            <summary>
            Fullwidth ASCII Punctuation Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.FullwidthCurrencySymbols">
            <summary>
            Fullwidth Currency Symbols Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.FullwidthLatinLetters">
            <summary>
            Fullwidth Latin Letters Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.GameSymbols">
            <summary>
            Same as Chess/Checkers Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.GeneralPunctuation">
            <summary>
            General Punctuation Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.GeometricShapes">
            <summary>
            Geometric Shapes Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Georgian">
            <summary>
            Georgian Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.GeorgianSupplement">
            <summary>
            Georgian Supplement Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Glagolitic">
            <summary>
            Glagolitic Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Gothic">
            <summary>
            Gothic Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Greek">
            <summary>
            Greek Chart
            </summary> 
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.GreekExtended">
            <summary>
            Greek Extended Chart
            </summary> 
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Gujarati">
            <summary>
            Gujarati Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Gurmukhi">
            <summary>
            Gurmukhi Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.HalfwidthAndFullwidthForms">
            <summary>
            Halfwidth and Fullwidth Forms Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.HalfwidthJamo">
            <summary>
            Half width Jamo Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.HalfwidthKatakana">
            <summary>
            Half width Katakana Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.HangulCompatibilityJamo">
            <summary>
            Hangul Compatibility Jamo Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.HangulJamo">
            <summary>
            Hangul Jamo Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.HangulJamoExtendedA">
            <summary>
            Hangul Jamo ExtendedA Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.HangulJamoExtendedB">
            <summary>
            Hangul Jamo Extended-B Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.HangulSyllables">
            <summary>
            Hangul Syllables Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Hanunoo">
            <summary>
            Hanunoo Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Hebrew">
            <summary>
            Hebrew Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.HebrewPresentationForms">
            <summary> 
            Hebrew Presentation Forms Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.HighSurrogates">
            <summary>
            High Surrogates Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Hiragana">
            <summary>
            Hiragana Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.IdeographicDescriptionCharacters">
            <summary>
            Ideographic Description Characters Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.InvisibleOperators">
            <summary>
            Invisible Operators Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.IpaExtensions">
            <summary>
            IPA Extensions Chart
            </summary> 
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.JapaneseChess">
            <summary>
            Japanese Chess Chart 
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Javanese">
            <summary>
            Javanese Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Kaithi">
            <summary>
            Kaithi Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Kanbun">
            <summary>
            Kanbun Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Kannada">
            <summary>
            Kannada Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Katakana">
            <summary>
            Katakana Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.KatakanaPhoneticExtensions">
            <summary>
            Katakana Phonetic Extensions Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.KayahLi">
            <summary>
            Kayah Li Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Kharoshthi">
            <summary>
            Kharoshthi Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Khmer">
            <summary>
            Khmer Chart
            </summary> 
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.KhmerSymbols">
            <summary>
            Khmer Symbols Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Lao">
            <summary>
            Lao Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Latin">
            <summary>
            Latin Chart
            </summary> 
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Latin1Punctuation">
            <summary>
            Latin-1 Punctuation Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Latin1Supplement">
            <summary>
            Latin-1 Supplement Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.LatinExtendedA">
            <summary>
            Latin Extended-A Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.LatinExtendedAdditional">
            <summary>
            Latin Extended Additional Chart
            </summary> 
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.LatinExtendedB">
            <summary>
            Latin Extended-B Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.LatinExtendedC">
            <summary>
            Latin Extended-C Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.LatinExtendedD">
            <summary>
            Latin Extended-D Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.LatinLigatures">
            <summary>
            Latin Ligatures Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.LayoutControls">
            <summary>
            Layout Controls Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Lepcha">
            <summary>
            Lepcha Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.LetterlikeSymbols">
            <summary>
            Letterlike Symbols Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Limbu">
            <summary>
            Limbu Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.LinearB">
            <summary>
            Linear B Syllabary and Linear B Ideograms Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.LinearBIdeograms">
            <summary>
            Linear B Ideograms Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.LinearBSyllabary">
            <summary>
            Linear B Syllabary Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Lisu">
            <summary>
            Lisu Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.LowSurrogates">
            <summary>
            Low Surrogates Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Lycian">
            <summary>
            Lycian Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Lydian">
            <summary>
            Lydian Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.MahjongTiles">
            <summary>
            Mahjong Tiles Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Malayalam">
            <summary>
            Malayalam Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Mark">
            <summary>
            Mark Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.MathematicalAlphanumericSymbols">
            <summary>
            Mathematical Alphanumeric Symbols Chart
            </summary> 
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.MathematicalOperators">
            <summary>
            Mathematical Operators Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.MeeteiMayek">
            <summary>
            Meetei Mayek Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.MiscellaneousMathematicalSymbolsA">
            <summary>
            Miscellaneous Mathematical SymbolsA Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.MiscellaneousMathematicalSymbolsB">
            <summary>
            Miscellaneous Mathematical SymbolsB Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.MiscellaneousSymbols">
            <summary>
            Miscellaneous Symbols Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.MiscellaneousSymbolsAndArrows">
            <summary>
            Miscellaneous Symbols and Arrows Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.MiscellaneousTechnical">
            <summary>
            Miscellaneous Technical Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.ModifierToneLetters">
            <summary>
            Modifier Tone Letters Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Mongolian">
            <summary>
            Mongolian Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.MusicalSymbols">
            <summary>
            Musical Symbols Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Myanmar">
            <summary>
            Myanmar Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.MyanmarExtendedA">
            <summary>
            Myanmar Extended-A Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.NewTaiLue">
            <summary>
            New Tai Lue Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.NKo">
            <summary>
            N'Ko Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.NumberForms">
            <summary>
            Number Forms Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Ogham">
            <summary>
            Ogham Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.OlChiki">
            <summary>
            Ol Chiki Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.OldItalic">
            <summary>
            Old Italic Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.OldPersian">
            <summary>
            Old Persian Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.OldSouthArabian">
            <summary>
            Old South Arabian Chart
            </summary> 
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.OldTurkic">
            <summary>
            Old Turkic Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.OpticalCharacterRecognition">
            <summary>
            Optical Character Recognition Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Oriya">
            <summary>
            Oriya Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Osmanya">
            <summary>
            Osmanya Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.PahlaviInscriptional">
            <summary>
            Pahlavi Inscriptional Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.ParthianInscriptional">
            <summary>
            Parthian Inscriptional Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Pfennig">
            <summary>
            Pfennig Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.PhagsPa">
            <summary>
            Phags-Pa Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.PhaistosDisc">
            <summary>
            Phaistos Disc Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Phoenician">
            <summary>
            Phoenician Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.PhoneticExtensions">
            <summary>
            Phonetic Extensions Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.PhoneticExtensionsSupplement">
            <summary>
            Phonetic Extensions Supplement Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Plane1">
            <summary>
            Plane 1 Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Plane10">
            <summary>
            Plane 10 Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Plane11">
            <summary>
            Plane 11 Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Plane12">
            <summary>
            Plane 12 Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Plane13">
            <summary>
            Plane 13 Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Plane14">
            <summary>
            Plane 14 Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Plane15">
            <summary>
            Plane 15 Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Plane16">
            <summary>
            Plane 16 Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Plane2">
            <summary>
            Plane 2 Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Plane3">
            <summary>
            Plane 3 Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Plane4">
            <summary>
            Plane 4 Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Plane5">
            <summary>
            Plane 5 Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Plane6">
            <summary>
            Plane 6 Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Plane7">
            <summary>
            Plane 7 Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Plane8">
            <summary>
            Plane 8 Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Plane9">
            <summary>
            Plane 9 Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.PrivateUseArea">
            <summary>
            Private Use Area Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Rejang">
            <summary>
            Rejang Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.ReservedRange">
            <summary>
            Reserved Range Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.RialSign">
            <summary>
            Rial Sign Chart
            </summary> 
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.RomanSymbols">
            <summary>
            Roman Symbols Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.RumiNumeralSymbols">
            <summary>
            Rumi Numeral Symbols Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Runic">
            <summary>
            Runic Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Samaritan">
            <summary>
            Samaritan Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Saurashtra">
            <summary>
            Saurashtra Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Shavian">
            <summary>
            Shavian Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Sinhala">
            <summary>
            Sinhala Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.SmallFormVariants">
            <summary>
            Small Form Variants Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.SpacingModifierLetters">
            <summary>
            Spacing Modifier Letters Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Specials">
            <summary>
            Specials Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Sundanese">
            <summary>
            Sundanese Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.SuperAndSubscripts">
            <summary>
            Super and Subscripts Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.SuperscriptsAndSubscripts">
            <summary>
            Superscripts and Subscripts Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.SupplementalArrowsA">
            <summary>
            Supplemental Arrows-A Chart
            </summary> 
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.SupplementalArrowsB">
            <summary>
            Supplemental Arrows-B Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.SupplementalMathematicalOperators">
            <summary>
            Supplemental Mathematical Operators Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.SupplementalPunctuation">
            <summary>
            Supplemental Punctuation Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.SupplementaryPrivateUseAreaA">
            <summary>
            Supplementary Private Use Area-A Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.SupplementaryPrivateUseAreaB">
            <summary>
            Supplementary Private Use Area-B Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.SylotiNagri">
            <summary>
            Syloti Nagri Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Syriac">
            <summary>
            Syriac Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Tagalog">
            <summary>
            Tagalog Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Tagbanwa">
            <summary>
            Tagbanwa Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Tags">
            <summary>
            Tags Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.TaiLe">
            <summary>
            Tai Le Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.TaiTham">
            <summary>
            Tai Tham Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.TaiViet">
            <summary>
            Tai Viet Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.TaiXuanJingSymbols">
            <summary>
            Tai Xuan Jing Symbols Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Tamil">
            <summary>
            Tamil Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Telugu">
            <summary>
            Telugu Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Thaana">
            <summary>
            Thaana Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Thai">
            <summary>
            Thai Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Tibetan">
            <summary>
            Tibetan Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Tifinagh">
            <summary>
            Tifinagh Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Ugaritic">
            <summary>
            Ugaritic Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.UnifiedCanadianAboriginalSyllabics">
            <summary>
            Unified Canadian Aboriginal Syllabics Chart
            </summary> 
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.UnifiedCanadianAboriginalSyllabicsExtended">
            <summary>
            Unified Canadian Aboriginal Syllabics ExtendedChart
            </summary> 
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Vai">
            <summary>
            Vai Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.VariationSelectors">
            <summary>
            Variation Selectors Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.VariationSelectorsSupplement">
            <summary>
            Variation Selectors Supplement Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.VedicExtensions">
            <summary>
            Vedic Extensions Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.VerticalForms">
            <summary>
            Vertical Forms Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.YenPoundAndCent">
            <summary>
            Yen Pound and Cent Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.Yi">
            <summary>
            Yi Syllables and Yi Radicals Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.YijingHexagramSymbols">
            <summary>
            Yijing Hexagram Symbols Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.YijingMonoDiAndTrigrams">
            <summary>
            Yijing Mono-    Di- and Trigrams Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.YijingSymbols">
            <summary>
            Same as Yijing Mono-    Di- and Trigrams Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.YiRadicals">
            <summary>
            Yi Radicals Chart
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.UnicodeChart.YiSyllables">
            <summary>
            Yi Syllables Chart
            </summary>
        </member>
        <member name="T:Microsoft.Test.Text.RegexRepeatNode">
            <summary>
            Represents repetition token ( i.e. 'cde{2,3}' in abc[A-Z]|cde{2,3} ).
            </summary>
        </member>
        <member name="T:Microsoft.Test.Text.RegexOrNode">
            <summary>
            Represents a group of tokens one of which will be generated .
            For example abc[A-Z]|cde{2,3} is a reornode with 2 children.
            </summary>
        </member>
        <member name="T:Microsoft.Test.ObjectComparison.ObjectGraphComparer">
             <summary>
             Represents a generic object graph comparer. This class compares object 
             graphs produced by an <see cref="T:Microsoft.Test.ObjectComparison.ObjectGraphFactory"/>.
             </summary>
             <remarks>
             Comparing two objects for equivalence is a relatively common task during test validation. 
             One example would be to test whether a type follows the rules required by a particular 
             serializer by saving and loading the object and comparing the two. A deep object 
             comparison is one where all the properties and its properties are compared repeatedly 
             until primitives are reached. The .NET Framework provides mechanisms to perform such comparisons but 
             requires the types in question to implement part of the comparison logic 
             (IComparable, .Equals). However, there are often types that do not follow 
             these mechanisms. This API provides a mechanism to deep compare two objects using 
             reflection. 
             </remarks>
             
             <example>
             The following example demonstrates how to compare two objects using a general-purpose object 
             graph factory (represented by <see cref="T:Microsoft.Test.ObjectComparison.PublicPropertyObjectGraphFactory"/>).
             
             <code>
             Person p1 = new Person("John");
             p1.Children.Add(new Person("Peter"));
             p1.Children.Add(new Person("Mary"));
            
             Person p2 = new Person("John");
             p2.Children.Add(new Person("Peter"));
             
             ObjectGraphFactory factory = new PublicPropertyObjectGraphFactory();
             GraphNode left = factory.CreateObjectGraph(p1);
             GraphNode right = factory.CreateObjectGraph(p2);
             ObjectComparer comparer = new ObjectGraphComparer();
             Console.WriteLine(
                 "Objects p1 and p2 {0}", 
                 comparer.Compare(left, right) ? "match!" : "do NOT match!");
             </code>
            
             where Person is declared as follows:
            
             <code>
             class Person
             {
                 public Person(string name) 
                 { 
                     Name = name;
                     Children = new Collection&lt;Person&gt;();
                 }
                 public string Name { get; set; }
                 public Collection&lt;Person&gt; Children { get; private set;  }
             }
             </code>
             </example>
            
             <example>
             In addition, the object comparison API allows the user to get back a list of comparison mismatches. 
             For an example, see <see cref="T:Microsoft.Test.ObjectComparison.ObjectComparisonMismatch"/> objects. 
             </example>
        </member>
        <member name="M:Microsoft.Test.ObjectComparison.ObjectGraphComparer.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:Microsoft.Test.ObjectComparison.ObjectGraphComparer"/> class.
            </summary>
        </member>
        <member name="M:Microsoft.Test.ObjectComparison.ObjectGraphComparer.#ctor(System.Collections.Generic.HashSet{Microsoft.Test.ObjectComparison.GraphNode})">
            <summary>
            Initializes a new instance of the <see cref="T:Microsoft.Test.ObjectComparison.ObjectGraphComparer"/> class 
            in the probing mode.
            </summary>
            <param name="visited">The nodes already visited.</param>
            <remarks>
            When in the probing mode, the comparer returns a comparison verdict
            as soon as it is known. It modifies its visited nodes, thus in case of
            a positive result it represents an accurate set of all visited nodes.
            That is needed for an unordered comparison, when we do not know apriori 
            which node should match which.
            </remarks>
        </member>
        <member name="M:Microsoft.Test.ObjectComparison.ObjectGraphComparer.Compare(Microsoft.Test.ObjectComparison.GraphNode,Microsoft.Test.ObjectComparison.GraphNode)">
            <summary>
            Performs a deep comparison of two object graphs.
            </summary>
            <param name="left">The left object graph.</param>
            <param name="right">The right object graph.</param>
            <returns>true if the object graphs match.</returns>
            <remarks>
            If a graph node does not have a comparison strategy attached the default 
            strategy is used which is unordered comparison for child nodes and
            case-sensitive, exact match for node values.
            </remarks>
        </member>
        <member name="M:Microsoft.Test.ObjectComparison.ObjectGraphComparer.Compare(Microsoft.Test.ObjectComparison.GraphNode,Microsoft.Test.ObjectComparison.GraphNode,System.Collections.Generic.IEnumerable{Microsoft.Test.ObjectComparison.ObjectComparisonMismatch}@)">
            <summary>
            Performs a deep comparison of two object graphs and provides 
            a list of mismatching nodes.
            </summary>
            <param name="left">The left object graph.</param>
            <param name="right">The right object graph.</param>
            <param name="mismatches">The list of mismatches.</param>
            <returns>true if the object graphs match.</returns>
            <remarks>
            Only nodes with equal names are compared with each other.
            <para/>If a graph node does not have a comparison strategy attached the default 
            strategy is used which is unordered comparison for child nodes and
            case-sensitive, exact match for node values.
            <para/>Nodes with equal names must have the same comparison strategies attached.
            If the strategies are different, then those nodes and all their children are not
            compared and skipped alltogether, because there is no way to identify which
            strategy should be preferred.
            </remarks>
        </member>
        <member name="M:Microsoft.Test.ObjectComparison.ObjectGraphComparer.IsVisited(Microsoft.Test.ObjectComparison.GraphNode)">
            <summary>
            Determines whether the specified node is visited.
            </summary>
            <param name="node">The node.</param>
            <returns>
              <c>true</c> if the specified node is visited; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Microsoft.Test.ObjectComparison.ObjectGraphComparer.MarkVisited(Microsoft.Test.ObjectComparison.GraphNode)">
            <summary>
            Marks the node as visited.
            </summary>
            <param name="node">The node.</param>
        </member>
        <member name="M:Microsoft.Test.ObjectComparison.ObjectGraphComparer.CompareChildNodes(Microsoft.Test.ObjectComparison.GraphNode,Microsoft.Test.ObjectComparison.GraphNode)">
            <summary>
            Compares the child nodes of the given nodes.
            </summary>
            <param name="left">The left node to compare children of.</param>
            <param name="right">The right node to compare children of.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Test.ObjectComparison.ObjectGraphComparer.AddMismatch(Microsoft.Test.ObjectComparison.ObjectComparisonMismatch)">
            <summary>
            Adds the mismatch to the mismatch collection.
            </summary>
            <param name="mismatch">The mismatch.</param>
        </member>
        <member name="M:Microsoft.Test.ObjectComparison.ObjectGraphComparer.CompareObjectGraphs(Microsoft.Test.ObjectComparison.GraphNode,Microsoft.Test.ObjectComparison.GraphNode)">
            <summary>
            Compares the object graphs.
            </summary>
            <param name="left">The left node.</param>
            <param name="right">The right node.</param>
        </member>
        <member name="M:Microsoft.Test.ObjectComparison.ObjectGraphComparer.CompareObjectGraphs(System.Collections.Generic.IEnumerable{Microsoft.Test.ObjectComparison.GraphNode},System.Collections.Generic.IEnumerable{Microsoft.Test.ObjectComparison.GraphNode})">
            <summary>
            Performs and unordered comparison of the given object graph collections.
            </summary>
            <param name="leftNodes">The left nodes.</param>
            <param name="rightNodes">The right nodes.</param>
        </member>
        <member name="T:Microsoft.Test.ApplicationControl.OutOfProcessApplication">
             <summary>
             Represents a test application running in a new, separate process.
             </summary>
            
             <example>
             The following example demonstrates how to use this class:
             <code>
             public void MyTest()
             {
                var path = Path.Combine(executionDir, "WpfTestApplication.exe");
                var a = new OutOfProcessApplication(new OutOfProcessApplicationSettings
                {
                    ProcessStartInfo = new ProcessStartInfo(path),
                    ApplicationImplementationFactory = new UIAutomationOutOfProcessApplicationFactory()
                });
              
                a.Start();
                a.WaitForMainWindow(TimeSpan.FromMilliseconds(5000));
                
                // Perform various tests...
                
                a.Close();
             }
             </code>
             </example>
        </member>
        <member name="M:Microsoft.Test.ApplicationControl.OutOfProcessApplication.#ctor(Microsoft.Test.ApplicationControl.OutOfProcessApplicationSettings)">
            <summary>
            Initializes a new instance of an OutOfProcessApplication.
            </summary>
            <param name="settings">The settings used to start the test application.</param>
        </member>
        <member name="M:Microsoft.Test.ApplicationControl.OutOfProcessApplication.Start">
            <summary>
            Creates and starts the automated application.
            </summary>
        </member>
        <member name="M:Microsoft.Test.ApplicationControl.OutOfProcessApplication.ValidateApplicationSettings(Microsoft.Test.ApplicationControl.OutOfProcessApplicationSettings)">
            <summary>
            Validates the settings for an OutOfProcessApplication.
            </summary>
            <param name="settings">The settings to validate.</param>
        </member>
        <member name="P:Microsoft.Test.ApplicationControl.OutOfProcessApplication.ApplicationSettings">
            <summary>
            The settings for the automated application.
            </summary>
        </member>
        <member name="P:Microsoft.Test.ApplicationControl.OutOfProcessApplication.Process">
            <summary>
            The process associated with the application.
            </summary>
        </member>
        <member name="T:Microsoft.Test.Text.RegexSetNode">
            <summary>
            Represents a set of characters inside [ ]
            For example [a-z].
            </summary>
        </member>
        <member name="T:Microsoft.Test.FaultInjection.FaultRule">
             <summary>
             Defines which method to fault, under what conditions the fault will occur, 
             and how the method will fail. See also the <see cref="T:Microsoft.Test.FaultInjection.FaultSession"/> class.
             </summary>
             <remarks>
             There can only be one fault rule per target method.
             </remarks> 
             
             <example>
             The following example creates a new FaultSession with several different 
             FaultRules and launches the application.
             <code>
             string sampleAppPath = "SampleApp.exe";
            
             FaultRule[] ruleArray = new FaultRule[]
             {     
                 // Instance method
                 new FaultRule(
                     "SampleApp.TargetType.TargetMethod(string, string)",
                     BuiltInConditions.TriggerOnEveryCall,
                     BuiltInFaults.ReturnValueFault("")),
            
                 // Constructor
                 new FaultRule(
                     "SampleApp.TargetType.TargetType(string, int)",
                     BuiltInConditions.TriggerOnEveryCall,
                     BuiltInFaults.ThrowExceptionFault(new InvalidOperationException())),
            
                 // Static method
                 new FaultRule(
                     "static SampleApp.TargetType.StaticTargetMethod()",
                     BuiltInConditions.TriggerOnEveryNthCall(2),
                     BuiltInFaults.ThrowExceptionFault(new InvalidOperationException())),
            
                 // Generic method
                 new FaultRule(
                     "SampleApp.TargetType.GenericTargetMethod&lt;T&gt;(string)",
                     BuiltInConditions.TriggerOnEveryCall,
                     BuiltInFaults.ReturnFault()),
            
                 // Property 
                 new FaultRule(
                     "SampleApp.TargetType.get_TargetProperty()",
                     BuiltInConditions.TriggerOnEveryNthCall(3),
                     BuiltInFaults.ReturnFault()),
            
                 // Operator overload
                 new FaultRule(
                     "SampleApp.TargetType.op_Increment(int, int)",
                     BuiltInConditions.TriggerOnEveryCall,
                     BuiltInFaults.ThrowExceptionFault(new InvalidOperationException()))
             };     
            
             FaultSession session = new FaultSession(ruleArray);
             ProcessStartInfo psi = session.GetProcessStartInfo(sampleAppPath);
             Process.Start(psi);
             </code>
             </example>
        </member>
        <member name="M:Microsoft.Test.FaultInjection.FaultRule.#ctor(System.String)">
            <summary>
            Initializes a new instance of FaultRule class with the specified method.
            </summary>
            <param name="method">The signature of the method where the fault should be injected.</param>
        </member>
        <member name="M:Microsoft.Test.FaultInjection.FaultRule.#ctor(System.String,Microsoft.Test.FaultInjection.ICondition,Microsoft.Test.FaultInjection.IFault)">
            <summary>
            Initializes a new instance of FaultRule class with the specified method, condition and fault.
            </summary>
            <param name="method">The signature of the method where the fault should be injected.</param>
            <param name="condition">The condition that defines when the fault should occur.</param>
            <param name="fault">The fault to be injected.</param>
        </member>
        <member name="M:Microsoft.Test.FaultInjection.FaultRule.#ctor(System.Reflection.MethodBase,Microsoft.Test.FaultInjection.ICondition,Microsoft.Test.FaultInjection.IFault)">
            <summary>
            Initializes a new instance of FaultRule class with the specified method, condition and fault.
            </summary>
            <param name="method">The signature of the method where the fault should be injected.</param>
            <param name="condition">The condition that defines when the fault should occur.</param>
            <param name="fault">The fault to be injected.</param>
        </member>
        <member name="M:Microsoft.Test.FaultInjection.FaultRule.IncrementAndReturnNumTimesCalled">
            <summary>
            Increments and returns the number of times that the associated method has been called. 
            This needs to be stored in order to be passed to the RuntimeContext object.
            </summary>
        </member>
        <member name="M:Microsoft.Test.FaultInjection.FaultRule.CopyNumTimesCalled(Microsoft.Test.FaultInjection.FaultRule)">
            <summary>
            Copies the number of times the FaultRule has been called from another fault rule. 
            This is used when this is a new fault rule that has just been deserialized and it
            is replacing an old fault rule.
            </summary>
            <param name="f">the old FaultRule that internal data should be copied from</param>
        </member>
        <member name="P:Microsoft.Test.FaultInjection.FaultRule.MethodSignature">
            <summary>
            The signature of the method where the fault should be injected.
            </summary>
        </member>
        <member name="P:Microsoft.Test.FaultInjection.FaultRule.Condition">
            <summary>
            The condition that defines when the fault should occur.
            </summary>
        </member>
        <member name="P:Microsoft.Test.FaultInjection.FaultRule.Fault">
            <summary>
            The fault to be injected.
            </summary>
        </member>
        <member name="T:Microsoft.Test.FaultInjection.BuiltInFaults">
            <summary>
            Contains all built-in faults. 
            </summary>
            <remarks>
            For more information on how to use the BuiltInFaults class, see the <see cref="T:Microsoft.Test.FaultInjection.FaultSession"/> class. 
            All fault injection faults implement the <see cref="T:Microsoft.Test.FaultInjection.IFault"/> interface.
            </remarks>
        </member>
        <member name="M:Microsoft.Test.FaultInjection.BuiltInFaults.ReturnFault">
            <summary>
            A built-in fault which returns when triggered.
            </summary>
            <remarks>
            This method can be called when the faulted method has a void return type;
            it will return null if triggered in a non-void method.
            </remarks>
        </member>
        <member name="M:Microsoft.Test.FaultInjection.BuiltInFaults.ReturnValueFault(System.Object)">
            <summary>
            A built-in fault which returns the specified object when triggered.
            </summary>
            <param name="returnValue">The object to return. The faulted method will return this object when the fault condition is triggered.</param>
        </member>
        <member name="M:Microsoft.Test.FaultInjection.BuiltInFaults.ReturnValueRuntimeFault(System.String)">
            <summary>
            A built-in fault which returns an object constructed according to the specified expression when triggered.
            </summary>
            <param name="returnValueExpression">A string in the format:
            (int)3, (double)6.6, (bool)true, ‘Hello World’ which means "Hello World",
            System.Exception(‘This is a fault’).
            </param>
        </member>
        <member name="M:Microsoft.Test.FaultInjection.BuiltInFaults.ThrowExceptionFault(System.Exception)">
            <summary>
            A built-in fault which throws the specified exception object when triggered.
            </summary>
            <param name="exceptionValue">
            An Exception object constructed by the process that injects the fault.
            </param>
            <remarks>
            The exception object must be serializable.
            </remarks>
        </member>
        <member name="M:Microsoft.Test.FaultInjection.BuiltInFaults.ThrowExceptionRuntimeFault(System.String)">
            <summary>
            A built-in fault which throws an exception object constructed according to the specified expression when triggered.
            </summary>
            <param name="exceptionExpression">A string in the format:
            System.Exception(‘This is a fault’),
            CustomizedNameSpace.CustomizedException(‘Error Message’, (int)3, System.Exception(‘innerException’)).
            </param>
        </member>
        <member name="T:Microsoft.Test.VariationGeneration.Model`1">
            <summary>
            Contains all the parameters and constraints for the system under test, and produces a 
            set of variations by using combinatorial testing techniques.
            </summary>
            <typeparam name="T">The type of variations that should be generated.</typeparam>
            
            <example>
            For examples, refer to <see cref="T:Microsoft.Test.VariationGeneration.Model"/> and <see cref="T:Microsoft.Test.VariationGeneration.ParameterAttribute"/>.
            </example>
        </member>
        <member name="M:Microsoft.Test.VariationGeneration.Model`1.#ctor">
            <summary>
            Initializes a new model with parameters to be inferred by reflection.
            </summary>
        </member>
        <member name="M:Microsoft.Test.VariationGeneration.Model`1.#ctor(System.Collections.Generic.IEnumerable{Microsoft.Test.VariationGeneration.ParameterBase})">
            <summary>
            Initializes a new model with the specified parameters.
            </summary>
            <param name="parameters">The parameters.</param>
        </member>
        <member name="M:Microsoft.Test.VariationGeneration.Model`1.#ctor(System.Collections.Generic.IEnumerable{Microsoft.Test.VariationGeneration.ParameterBase},System.Collections.Generic.IEnumerable{Microsoft.Test.VariationGeneration.Constraint{`0}})">
            <summary>
            Initializes a new model with the specified parameters and constraints.
            </summary>
            <param name="parameters">The parameters.</param>
            <param name="constraints">The constraints.</param>
        </member>
        <member name="M:Microsoft.Test.VariationGeneration.Model`1.GenerateVariations(System.Int32)">
            <summary>
            Generates an order-wise set of variations using a constant seed.
            </summary>
            <param name="order">The order of the selected combinations (2 is every pair, 3 is every triple, and so on). Must be between 1 and the number of parameters.</param>
            <returns>The variations.</returns>
        </member>
        <member name="M:Microsoft.Test.VariationGeneration.Model`1.GenerateVariations(System.Int32,System.Int32)">
            <summary>
            Generates an order-wise set of variations using the specified seed for random generation.
            </summary>
            <param name="order">The order of the selected combinations (2 is every pair, 3 is every triple, and so on). Must be between 1 and the number of parameters.</param>
            <param name="seed">The seed that is used for random generation.</param>
            <returns>The variations.</returns>
        </member>
        <member name="M:Microsoft.Test.VariationGeneration.Model`1.GetAttributes``1(System.Reflection.MemberInfo)">
            <summary>
            Retrieves array of the attributes of specified type
            given member is decorated with.
            </summary>
            <typeparam name="TAttribute">Attribute type.</typeparam>
            <param name="memberInfo">Class member.</param>
            <returns>Array of attributes defined for the member; if none 
            defined the array is zero length.</returns>
        </member>
        <member name="M:Microsoft.Test.VariationGeneration.Model`1.ReadPropertiesMetadata">
            <summary>
            Iterates over model properties, validates them and 
            retrieves properly attributed ones.
            </summary>
            <returns>Dictionary of properties keyed off by the name.</returns>
        </member>
        <member name="M:Microsoft.Test.VariationGeneration.Model`1.CreateParameters(System.Int32)">
            <summary>
            Creates model parameters based on attributes set on
            model properties.
            </summary>
            <param name="seed">Seed used to select values for equivalnce 
            classes generation.</param>
        </member>
        <member name="M:Microsoft.Test.VariationGeneration.Model`1.CreateEquivalenceClassValues(System.Int32,System.Type,Microsoft.Test.VariationGeneration.ParameterAttribute[])">
            <summary>
            Returns list of values selected\created based on attributes 
            provided.
            <remarks>Equivalence class functionality is achieved by using
            seed provided to create random generator and then use it to
            select one random value from each attribute.</remarks>
            </summary>
            <param name="seed">Seed used to select value from equivalence class.</param>
            <param name="valueType">Type used to create ParameterValue instance to incorporate
            Weight\Tag (if defined).</param>
            <param name="attributes">List of attributes to select values from.</param>
            <returns>List of values selected\created from attrubutes.</returns>
        </member>
        <member name="M:Microsoft.Test.VariationGeneration.Model`1.CreateParameter(System.String,System.Type,System.Collections.Generic.List{System.Object})">
            <summary>
            Creates parameter with name and type as specified and 
            add values to it.
            </summary>
            <param name="parameterName">Name of the parameter.</param>
            <param name="parameterType">Type of the parameter.</param>
            <param name="parameterValues">List of values to add to created parameter.</param>
        </member>
        <member name="P:Microsoft.Test.VariationGeneration.Model`1.Parameters">
            <summary>
            The parameters in the model.
            </summary>
        </member>
        <member name="P:Microsoft.Test.VariationGeneration.Model`1.Constraints">
            <summary>
            The constraints in the model.
            </summary>
        </member>
        <member name="P:Microsoft.Test.VariationGeneration.Model`1.DefaultVariationTag">
            <summary>
            The default tag for generated variations. Set this property when no value in the variation has been tagged. The default is null.
            </summary>
        </member>
        <member name="T:Microsoft.Test.VariationGeneration.Model">
             <summary>
             Provides a general-purpose model that generates a <see cref="T:Microsoft.Test.VariationGeneration.Variation"/>. 
             See also <see cref="T:Microsoft.Test.VariationGeneration.Model`1"/>.
             </summary>
             
             <remarks>
             Exhaustively testing all possible inputs to any nontrivial software component is generally not possible
             because of the enormous number of variations. Combinatorial testing is one approach to achieve high coverage
             with a much smaller set of variations. Pairwise, the most common combinatorial strategy, tests every possible 
             pair of values. Higher orders of combinations (three-wise, four-wise, and so on) can also be used for higher coverage
             at the expense of more variations. See <a href="http://pairwise.org">Pairwise Testing</a> and 
             <a href="http://www.pairwise.org/docs/pnsqc2006/PNSQC%20140%20-%20Jacek%20Czerwonka%20-%20Pairwise%20Testing%20-%20BW.pdf">
             Pairwise Testing in Real World</a> for more resources.
             </remarks>
             
             <example>
             The following example shows how to create a set of test-run configurations by using 
             a model that only uses variables.
             <code>
             // Specify the parameters and parameter values
             var os = new Parameter&lt;string&gt;("OS") { "WinXP", "Win2k3", "Vista", "Win7" };
             var memory = new Parameter&lt;int&gt;("Memory") { 512, 1024, 2048, 4096 };
             var graphics = new Parameter&lt;string&gt;("Graphics") { "Nvidia", "ATI", "Intel" };
             var lang = new Parameter&lt;string&gt;("Lang") { "enu", "jpn", "deu", "chs", "ptb" };
            
             var parameters = new List&lt;ParameterBase&gt; { os, memory, graphics, lang };
            
             var model = new Model(parameters);
            
             // The model is complete; now generate the configurations and print out
             foreach (var config in model.GenerateVariations(2))
             {
                 Console.WriteLine("{0} {1} {2} {3}",
                     config["OS"],
                     config["Memory"],
                     config["Graphics"],
                     config["Lang"]);
             }
             </code>
             </example>
             
             <example>
             The following example shows how to create variations for a vacation planner that has a signature like this:
             CallVacationPlanner(string destination, int hotelQuality, string activity). This example demonstrates that certain
             activities are only available for certain destinations.
             <code>
             var de = new Parameter&lt;string&gt;("Destination") { "Whistler", "Hawaii", "Las Vegas" };
             var ho = new Parameter&lt;int&gt;("Hotel Quality") { 5, 4, 3, 2, 1 };
             var ac = new Parameter&lt;string&gt;("Activity") { "gambling", "swimming", "shopping", "skiing" };
            
             var parameters = new List&lt;ParameterBase&gt; { de, ho, ac };
             var constraints = new List&lt;Constraint&lt;Variation&gt;&gt;
             {
                 // If going to Whistler or Hawaii, then no gambling
                 Constraint&lt;Variation&gt;
                     .If(v =&gt; de.GetValue(v) == "Whistler" || de.GetValue(v) == "Hawaii")
                     .Then(v =&gt; ac.GetValue(v) != "gambling"),
            
                 // If going to Las Vegas or Hawaii, then no skiing
                 Constraint&lt;Variation&gt;
                     .If(v =&gt; de.GetValue(v) == "Las Vegas" || de.GetValue(v) == "Hawaii")
                     .Then(v =&gt; ac.GetValue(v) != "skiing"),
            
                 // If going to Whistler, then no swimming
                 Constraint&lt;Variation&gt;
                     .If(v =&gt; de.GetValue(v) == "Whistler")
                     .Then(v =&gt; ac.GetValue(v) != "swimming"),
             };
             var model = new Model(parameters, constraints);
            
            
             foreach (var vacationOption in model.GenerateVariations(2))
             {
                 Console.WriteLine("{0}, {1} stars -- {2}",
                     vacationOption["Destination"],
                     vacationOption["Hotel Quality"],
                     vacationOption["Activity"]);
             }
             </code>
             </example>
            
             <example>
             The following example shows how to create variations for a vacation planner that adds weights and tags
             to certain values.  Adding weights changes the frequency in which a value will occur. Adding tags allows expected values
             to be added to variations.
             <code>
             var de = new Parameter&lt;string&gt;("Destination") 
             { 
                 "Whistler", 
                 "Hawaii",
                 new ParameterValue&lt;string&gt;("Las Vegas") { Weight = 10.0 },
                 new ParameterValue&lt;string&gt;("Cleveland") { Tag = false }
             };
             var ho = new Parameter&lt;int&gt;("Hotel Quality") { 5, 4, 3, 2, 1 };
             var ac = new Parameter&lt;string&gt;("Activity") { "gambling", "swimming", "shopping", "skiing" };
             var parameters = new List&lt;ParameterBase&gt; { de, ho, ac };
            
             var model = new Model(parameters) { DefaultVariationTag = true };
            
             foreach (var v in model.GenerateVariations(1))
             {
                 Console.WriteLine("{0} {1} {2} {3}",
                     v["Destination"],
                     v["Hotel Quality"],
                     v["Activity"],
                     ((bool)v.Tag == false) ? "--&gt; don't go!" : "");
             }
             </code>
             </example>
        </member>
        <member name="M:Microsoft.Test.VariationGeneration.Model.#ctor(System.Collections.Generic.IEnumerable{Microsoft.Test.VariationGeneration.ParameterBase})">
            <summary>
            Initializes a new model with the specified parameters.
            </summary>
            <param name="parameters">The parameters.</param>
        </member>
        <member name="M:Microsoft.Test.VariationGeneration.Model.#ctor(System.Collections.Generic.IEnumerable{Microsoft.Test.VariationGeneration.ParameterBase},System.Collections.Generic.IEnumerable{Microsoft.Test.VariationGeneration.Constraint{Microsoft.Test.VariationGeneration.Variation}})">
            <summary>
            Initializes a new model with the specified parameters and constraints.
            </summary>
            <param name="parameters">The parameters.</param>
            <param name="constraints">The constraints.</param>
        </member>
        <member name="T:Microsoft.Test.VariationGeneration.Constraints.NamespaceDoc">
            <summary>
            Contains a set of standard constraints for use with the 
            combinatorial variation generation API.
            </summary>
        </member>
        <member name="T:Microsoft.Test.ObjectComparison.NamespaceDoc">
            <summary>
            Contains facilities for comparing of two objects for equivalence. 
            </summary>
        </member>
        <member name="T:Microsoft.Test.Input.SendMouseInputFlags">
            <summary>
            Mouse input flags used by the Native Input struct.
            </summary>
        </member>
        <member name="T:Microsoft.Test.Input.Key">
            <summary>
            An enumeration of all the possible key values on a keyboard.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.None">
            <summary>
                No key pressed.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.Cancel">
            <summary>
                The CANCEL key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.Back">
            <summary>
                The BACKSPACE key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.Tab">
            <summary>
                The TAB key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.LineFeed">
            <summary>
                The LineFeed key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.Clear">
            <summary>
                The CLEAR key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.Return">
            <summary>
                The RETURN key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.Enter">
            <summary>
                The ENTER key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.Shift">
            <summary>
                The SHIFT key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.Ctrl">
            <summary>
                The CTRL key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.Alt">
            <summary>
                The ALT key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.Pause">
            <summary>
                The PAUSE key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.Capital">
            <summary>
                The CAPS LOCK key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.CapsLock">
            <summary>
                The CAPS LOCK key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.KanaMode">
            <summary>
                The IME Kana mode key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.HangulMode">
            <summary>
                The IME Hangul mode key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.JunjaMode">
            <summary>
                The IME Junja mode key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.FinalMode">
            <summary>
                The IME Final mode key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.HanjaMode">
            <summary>
                The IME Hanja mode key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.KanjiMode">
            <summary>
                The IME Kanji mode key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.Escape">
            <summary>
                The ESC key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.ImeConvert">
            <summary>
                The IME Convert key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.ImeNonConvert">
            <summary>
                The IME NonConvert key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.ImeAccept">
            <summary>
                The IME Accept key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.ImeModeChange">
            <summary>
                The IME Mode change request.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.Space">
            <summary>
                The SPACEBAR key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.Prior">
            <summary>
                The PAGE UP key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.PageUp">
            <summary>
                The PAGE UP key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.Next">
            <summary>
                The PAGE DOWN key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.PageDown">
            <summary>
                The PAGE DOWN key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.End">
            <summary>
                The END key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.Home">
            <summary>
                The HOME key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.Left">
            <summary>
                The LEFT ARROW key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.Up">
            <summary>
                The UP ARROW key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.Right">
            <summary>
                The RIGHT ARROW key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.Down">
            <summary>
                The DOWN ARROW key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.Select">
            <summary>
                The SELECT key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.Print">
            <summary>
                The PRINT key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.Execute">
            <summary>
                The EXECUTE key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.Snapshot">
            <summary>
                The SNAPSHOT key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.PrintScreen">
            <summary>
                The PRINT SCREEN key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.Insert">
            <summary>
                The INS key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.Delete">
            <summary>
                The DEL key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.Help">
            <summary>
                The HELP key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.D0">
            <summary>
                The 0 key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.D1">
            <summary>
                The 1 key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.D2">
            <summary>
                The 2 key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.D3">
            <summary>
                The 3 key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.D4">
            <summary>
                The 4 key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.D5">
            <summary>
                The 5 key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.D6">
            <summary>
                The 6 key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.D7">
            <summary>
                The 7 key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.D8">
            <summary>
                The 8 key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.D9">
            <summary>
                The 9 key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.A">
            <summary>
                The A key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.B">
            <summary>
                The B key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.C">
            <summary>
                The C key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.D">
            <summary>
                The D key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.E">
            <summary>
                The E key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.F">
            <summary>
                The F key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.G">
            <summary>
                The G key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.H">
            <summary>
                The H key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.I">
            <summary>
                The I key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.J">
            <summary>
                The J key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.K">
            <summary>
                The K key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.L">
            <summary>
                The L key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.M">
            <summary>
                The M key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.N">
            <summary>
                The N key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.O">
            <summary>
                The O key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.P">
            <summary>
                The P key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.Q">
            <summary>
                The Q key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.R">
            <summary>
                The R key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.S">
            <summary>
                The S key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.T">
            <summary>
                The T key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.U">
            <summary>
                The U key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.V">
            <summary>
                The V key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.W">
            <summary>
                The W key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.X">
            <summary>
                The X key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.Y">
            <summary>
                The Y key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.Z">
            <summary>
                The Z key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.LWin">
            <summary>
                The left Windows logo key (Microsoft Natural Keyboard).
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.RWin">
            <summary>
                The right Windows logo key (Microsoft Natural Keyboard).
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.Apps">
            <summary>
                The Application key (Microsoft Natural Keyboard).
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.Sleep">
            <summary>
                The Computer Sleep key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.NumPad0">
            <summary>
                The 0 key on the numeric keypad.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.NumPad1">
            <summary>
                The 1 key on the numeric keypad.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.NumPad2">
            <summary>
                The 2 key on the numeric keypad.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.NumPad3">
            <summary>
                The 3 key on the numeric keypad.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.NumPad4">
            <summary>
                The 4 key on the numeric keypad.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.NumPad5">
            <summary>
                The 5 key on the numeric keypad.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.NumPad6">
            <summary>
                The 6 key on the numeric keypad.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.NumPad7">
            <summary>
                The 7 key on the numeric keypad.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.NumPad8">
            <summary>
                The 8 key on the numeric keypad.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.NumPad9">
            <summary>
                The 9 key on the numeric keypad.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.Multiply">
            <summary>
                The Multiply key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.Add">
            <summary>
                The Add key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.Separator">
            <summary>
                The Separator key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.Subtract">
            <summary>
                The Subtract key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.Decimal">
            <summary>
                The Decimal key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.Divide">
            <summary>
                The Divide key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.F1">
            <summary>
                The F1 key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.F2">
            <summary>
                The F2 key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.F3">
            <summary>
                The F3 key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.F4">
            <summary>
                The F4 key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.F5">
            <summary>
                The F5 key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.F6">
            <summary>
                The F6 key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.F7">
            <summary>
                The F7 key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.F8">
            <summary>
                The F8 key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.F9">
            <summary>
                The F9 key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.F10">
            <summary>
                The F10 key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.F11">
            <summary>
                The F11 key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.F12">
            <summary>
                The F12 key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.F13">
            <summary>
                The F13 key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.F14">
            <summary>
                The F14 key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.F15">
            <summary>
                The F15 key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.F16">
            <summary>
                The F16 key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.F17">
            <summary>
                The F17 key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.F18">
            <summary>
                The F18 key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.F19">
            <summary>
                The F19 key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.F20">
            <summary>
                The F20 key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.F21">
            <summary>
                The F21 key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.F22">
            <summary>
                The F22 key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.F23">
            <summary>
                The F23 key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.F24">
            <summary>
                The F24 key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.NumLock">
            <summary>
                The NUM LOCK key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.Scroll">
            <summary>
                The SCROLL LOCK key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.LeftShift">
            <summary>
                The left SHIFT key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.RightShift">
            <summary>
                The right SHIFT key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.LeftCtrl">
            <summary>
                The left CTRL key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.RightCtrl">
            <summary>
                The right CTRL key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.LeftAlt">
            <summary>
                The left ALT key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.RightAlt">
            <summary>
                The right ALT key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.BrowserBack">
            <summary>
                The Browser Back key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.BrowserForward">
            <summary>
                The Browser Forward key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.BrowserRefresh">
            <summary>
                The Browser Refresh key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.BrowserStop">
            <summary>
                The Browser Stop key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.BrowserSearch">
            <summary>
                The Browser Search key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.BrowserFavorites">
            <summary>
                The Browser Favorites key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.BrowserHome">
            <summary>
                The Browser Home key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.VolumeMute">
            <summary>
                The Volume Mute key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.VolumeDown">
            <summary>
                The Volume Down key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.VolumeUp">
            <summary>
                The Volume Up key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.MediaNextTrack">
            <summary>
                The Media Next Track key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.MediaPreviousTrack">
            <summary>
                The Media Previous Track key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.MediaStop">
            <summary>
                The Media Stop key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.MediaPlayPause">
            <summary>
                The Media Play Pause key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.LaunchMail">
            <summary>
                The Launch Mail key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.SelectMedia">
            <summary>
                The Select Media key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.LaunchApplication1">
            <summary>
                The Launch Application1 key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.LaunchApplication2">
            <summary>
                The Launch Application2 key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.Oem1">
            <summary>
                The Oem 1 key.  ',:' for US
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.OemSemicolon">
            <summary>
                The Oem Semicolon key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.OemPlus">
            <summary>
                The Oem plus key.  '+' any country
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.OemComma">
            <summary>
                The Oem comma key.  ',' any country
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.OemMinus">
            <summary>
                The Oem Minus key.  '-' any country
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.OemPeriod">
            <summary>
                The Oem Period key.  '.' any country
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.Oem2">
            <summary>
                The Oem 2 key.  '/?' for US
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.OemQuestion">
            <summary>
                The Oem Question key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.Oem3">
            <summary>
                The Oem 3 key.  '`~' for US            
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.OemTilde">
            <summary>
                The Oem tilde key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.AbntC1">
            <summary>
                The ABNT_C1 (Brazilian) key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.AbntC2">
            <summary>
                The ABNT_C2 (Brazilian) key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.Oem4">
            <summary>
                The Oem 4 key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.OemOpenBrackets">
            <summary>
                The Oem Open Brackets key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.Oem5">
            <summary>
                The Oem 5 key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.OemPipe">
            <summary>
                The Oem Pipe key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.Oem6">
            <summary>
                The Oem 6 key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.OemCloseBrackets">
            <summary>
                The Oem Close Brackets key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.Oem7">
            <summary>
                The Oem 7 key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.OemQuotes">
            <summary>
                The Oem Quotes key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.Oem8">
            <summary>
                The Oem8 key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.Oem102">
            <summary>
                The Oem 102 key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.OemBackslash">
            <summary>
                The Oem Backslash key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.ImeProcessed">
            <summary>
                A special key masking the real key being processed by an IME.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.System">
            <summary>
                A special key masking the real key being processed as a system key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.OemAttn">
            <summary>
                The OEM_ATTN key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.DbeAlphanumeric">
            <summary>
                The DBE_ALPHANUMERIC key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.OemFinish">
            <summary>
                The OEM_FINISH key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.DbeKatakana">
            <summary>
                The DBE_KATAKANA key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.OemCopy">
            <summary>
                The OEM_COPY key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.DbeHiragana">
            <summary>
                The DBE_HIRAGANA key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.OemAuto">
            <summary>
                The OEM_AUTO key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.DbeSbcsChar">
            <summary>
                The DBE_SBCSCHAR key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.OemEnlw">
            <summary>
                The OEM_ENLW key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.DbeDbcsChar">
            <summary>
                The DBE_DBCSCHAR key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.OemBackTab">
            <summary>
                The OEM_BACKTAB key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.DbeRoman">
            <summary>
                The DBE_ROMAN key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.Attn">
            <summary>
                The ATTN key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.DbeNoRoman">
            <summary>
                The DBE_NOROMAN key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.CrSel">
            <summary>
                The CRSEL key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.DbeEnterWordRegisterMode">
            <summary>
                The DBE_ENTERWORDREGISTERMODE key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.ExSel">
            <summary>
                The EXSEL key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.DbeEnterImeConfigureMode">
            <summary>
                The DBE_ENTERIMECONFIGMODE key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.EraseEof">
            <summary>
                The ERASE EOF key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.DbeFlushString">
            <summary>
                The DBE_FLUSHSTRING key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.Play">
            <summary>
                The PLAY key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.DbeCodeInput">
            <summary>
                The DBE_CODEINPUT key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.Zoom">
            <summary>
                The ZOOM key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.DbeNoCodeInput">
            <summary>
                The DBE_NOCODEINPUT key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.NoName">
            <summary>
                A constant reserved for future use.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.DbeDetermineString">
            <summary>
                The DBE_DETERMINESTRING key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.Pa1">
            <summary>
                The PA1 key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.DbeEnterDialogConversionMode">
            <summary>
                The DBE_ENTERDLGCONVERSIONMODE key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.OemClear">
            <summary>
                The CLEAR key.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.Key.DeadCharProcessed">
            <summary>
             Indicates the key is part of a dead-key composition
            </summary>
        </member>
        <member name="T:Microsoft.Test.ApplicationControl.InProcessApplication">
             <summary>
             Represents a test application running in the current process.
             </summary>
            
             <example>
             The following example demonstrates how to use this class. The code runs the target
             application in a separate thread within the current process.
             <code>
             public void MyTest()
             {
                var path = Path.Combine(executionDir, "WpfTestApplication.exe");
                var a = new InProcessApplication(new WpfInProcessApplicationSettings
                {
                     Path = path,
                     InProcessApplicationType = InProcessApplicationType.InProcessSeparateThread,
                     ApplicationImplementationFactory = new WpfInProcessApplicationFactory()
                });
             
                a.Start();
                a.WaitForMainWindow(TimeSpan.FromMilliseconds(5000));
                
                // Perform various tests...
                
                a.Close();
             }
             </code>
             </example>
        </member>
        <member name="M:Microsoft.Test.ApplicationControl.InProcessApplication.#ctor(Microsoft.Test.ApplicationControl.InProcessApplicationSettings)">
            <summary>
            Initializes a new instance of an InProcessApplication.
            </summary>
            <param name="settings">The settings used to start the test application.</param>
        </member>
        <member name="M:Microsoft.Test.ApplicationControl.InProcessApplication.Start">
            <summary>
            Creates and starts the test application. 
            </summary>        
            <remarks>
            Depending on the AutomatedApplicationType
            this can be on the same thread or on a separate thread.
            </remarks>        
        </member>
        <member name="M:Microsoft.Test.ApplicationControl.InProcessApplication.ValidateApplicationSettings(Microsoft.Test.ApplicationControl.InProcessApplicationSettings)">
            <summary>
            Validates the settings for an InProcessApplication.
            </summary>
            <param name="settings">The settings to validate.</param>
        </member>
        <member name="M:Microsoft.Test.ApplicationControl.InProcessApplication.ApplicationStartWorker">
            <summary>
            Thread worker that creates the AutomatedApplication implementation and 
            starts the application. If InProcessSeparateThreadAndAppDomain is specified
            then the AutomatedApplication implementation is created in a new AppDomain.
            </summary>        
        </member>
        <member name="P:Microsoft.Test.ApplicationControl.InProcessApplication.ApplicationDriver">
            <summary>
            Access to the UI thread dispatcher.  
            </summary>
            <remarks>
            This is used only for the in-proc/separate thread scenario.
            </remarks>
        </member>
        <member name="P:Microsoft.Test.ApplicationControl.InProcessApplication.ApplicationSettings">
            <summary>
            The settings for the test application.
            </summary>
        </member>
        <member name="T:Microsoft.Test.VariationGeneration.VariationIndexTagPair">
            <summary>
            Contains the indices of variation and the corresponding tag.  Used to build the actual Variation.
            </summary>
        </member>
        <member name="T:Microsoft.Test.VariationGeneration.InternalConstraintHelpers">
            <summary>
            Helper function for determining relations between internal constraint tables.
            </summary>
        </member>
        <member name="T:Microsoft.Test.Theming.WindowEnumerator">
            <summary>
            Class for Enumerating Window Handles
            </summary>
        </member>
        <member name="T:Microsoft.Test.Text.UnicodeRangeProperty">
            <summary>
            UnicodeRangeProperty class to store data for a property
            </summary>
        </member>
        <member name="M:Microsoft.Test.Text.UnicodeRangeProperty.#ctor(Microsoft.Test.Text.TextUtil.UnicodeChartType,System.String,System.String,Microsoft.Test.Text.UnicodeRange)">
            <summary>
            constructor of PropertyData stuct
            </summary>
        </member>
        <member name="M:Microsoft.Test.Text.UnicodeRangeProperty.#ctor">
            <summary>
            Default constructor to null or zero all attributes
            </summary>
        </member>
        <member name="P:Microsoft.Test.Text.UnicodeRangeProperty.Type">
            <summary>
            type of the property
            </summary>
        </member>
        <member name="P:Microsoft.Test.Text.UnicodeRangeProperty.Name">
            <summary>
            name of the property
            </summary>
        </member>
        <member name="P:Microsoft.Test.Text.UnicodeRangeProperty.CultureIDs">
            <summary>
            culuture IDs for the property
            </summary>
        </member>
        <member name="P:Microsoft.Test.Text.UnicodeRangeProperty.Range">
            <summary>
            UnicodeRange for the property
            </summary>
        </member>
        <member name="T:Microsoft.Test.Text.TextSegmentationProperty">
            <summary>
            Collect of text segmentation code points
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.TextSegmentationProperty.sampleGraphemeClusterDictionary">
            <summary>
            Dictionary to store code points corresponding to culture.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.TextSegmentationProperty.MINNUMOFCODEPOINT">
            <summary>
            Define minimum code point needed to be a text segmentation string
            </summary>
        </member>
        <member name="M:Microsoft.Test.Text.TextSegmentationProperty.#ctor(Microsoft.Test.Text.UnicodeRangeDatabase,System.Collections.ObjectModel.Collection{Microsoft.Test.Text.UnicodeRange})">
            <summary>
            Define LineBreakDictionary class, 
            <a href="http://www.unicode.org/reports/tr29/">Newline</a>
            </summary>
        </member>
        <member name="M:Microsoft.Test.Text.TextSegmentationProperty.IsInPropertyRange(System.Int32)">
            <summary>
            Check if code point is in the property range
            </summary>
        </member>
        <member name="M:Microsoft.Test.Text.TextSegmentationProperty.GetRandomCodePoints(System.Int32,System.Int32)">
            <summary>
            Get number code points
            </summary>
        </member>
        <member name="T:Microsoft.Test.Text.StringProperties">
             <summary>
             Defines the desired properties of a character string. 
             For more information on character strings, see <a href="http://msdn.microsoft.com/en-us/library/dd317711(VS.85).aspx">this article</a>.
             </summary>
             <remarks>
             Note that this class is used as <i>"a filter"</i> when generating character strings with  
             <see cref="T:Microsoft.Test.Text.StringFactory"/>. Upon instantiation, all properties except CultureInfo of a <see cref="T:Microsoft.Test.Text.StringProperties"/>  
             object (which are all <a href="http://msdn.microsoft.com/en-us/library/system.nullable.aspx">Nullables</a>)   
             have null values, which means that the object does not impose any filtering limitations on  
             the generated strings. 
             <para>
             Setting properties to non-null values means that the value of the property should be taken  
             into account by <see cref="T:Microsoft.Test.Text.StringFactory"/> during  string generation. For example, setting  
             <see cref="P:Microsoft.Test.Text.StringProperties.MaxNumberOfCodePoints"/> to 10 means <i>"generate strings with up to 10 code points"</i>.</para>
             </remarks>
            
             <example>
             The following example demonstrates how to generate a Cyrillic string that 
             contains between 10 and 30 characters.
             <code>
             StringProperties properties = new StringProperties();
            
             properties.MinNumberOfCodePoints = 10;
             properties.MaxNumberOfCodePoints = 30;
             properties.UnicodeRanges.Add(new UnicodeRange(UnicodeChart.Cyrillic));
            
             string s = StringFactory.GenerateRandomString(properties, 1234);
             </code>
             </example>
             
             <example>
             The following example demonstrates how to generate a string which 
             contains characters from more than one Unicode chart.
             <code>
             StringProperties sp = new StringProperties();
             
             sp.MinNumberOfCodePoints = 10;
             sp.MaxNumberOfCodePoints = 20;
             sp.UnicodeRanges.Add(new UnicodeRange(UnicodeChart.BraillePatterns));
             sp.UnicodeRanges.Add(new UnicodeRange(UnicodeChart.Cyrillic));
            
             string s = StringFactory.GenerateRandomString(sp, 1234);
             </code>
             </example>
        </member>
        <member name="M:Microsoft.Test.Text.StringProperties.#ctor">
            <summary>
            Initializes a new instance of the class.
            </summary>
        </member>
        <member name="P:Microsoft.Test.Text.StringProperties.UnicodeRanges">
            <summary>
            Determines whether the string belongs to one or more <see cref="T:Microsoft.Test.Text.UnicodeRange"/>.
            </summary>
        </member>
        <member name="P:Microsoft.Test.Text.StringProperties.HasNumbers">
            <summary>
            Determines whether the string contains formatted numbers. 
            </summary>
        </member>
        <member name="P:Microsoft.Test.Text.StringProperties.IsBidirectional">
            <summary>
            Determines whether the string is <a href="http://en.wikipedia.org/wiki/Bi-directional_text">bi-directional</a>. 
            </summary>
        </member>
        <member name="P:Microsoft.Test.Text.StringProperties.NormalizationForm">
            <summary>
            Determines the type of normalization to perform on the string. 
            For more information, see <a href="http://www.unicode.org/reports/tr15">this article</a>.
            </summary>
        </member>
        <member name="P:Microsoft.Test.Text.StringProperties.MinNumberOfCombiningMarks">
            <summary>
            Determines the minimum number of combining marks in the string. 
            <a href="http://www.unicode.org/reports/tr15/">Combining marks</a> (and combining 
            characters in general) are characters that are intended to modify other characters (e.g. accents, etc.)
            </summary>
        </member>
        <member name="P:Microsoft.Test.Text.StringProperties.MinNumberOfCodePoints">
            <summary>
            Determines the minimum number of code points (characters) in the string.
            </summary>
        </member>
        <member name="P:Microsoft.Test.Text.StringProperties.MaxNumberOfCodePoints">
            <summary>
            Determines the maximum number of code points (characters) in the string.
            </summary>
        </member>
        <member name="P:Microsoft.Test.Text.StringProperties.MinNumberOfEndUserDefinedCodePoints">
            <summary>
            Determines the minimum number of <a href="http://msdn.microsoft.com/en-us/library/dd317802(VS.85).aspx">end-user-defined characters</a> (EUDC) in the string.
            </summary>
        </member>
        <member name="P:Microsoft.Test.Text.StringProperties.MinNumberOfLineBreaks">
            <summary>
            Determines the minimum number of line breaks in the string.
            </summary>
        </member>
        <member name="P:Microsoft.Test.Text.StringProperties.MinNumberOfSurrogatePairs">
            <summary>
            Determines the minimum number of <a href="http://en.wikipedia.org/wiki/Surrogate_pair">surrogate pairs</a> in the string. 
            </summary>
        </member>
        <member name="P:Microsoft.Test.Text.StringProperties.MinNumberOfTextSegmentationCodePoints">
            <summary>
            Determines the minimum number of <a href="http://en.wikipedia.org/wiki/Text_segmentation">text segmentation code points</a> in the string.
            </summary>
        </member>
        <member name="T:Microsoft.Test.Input.MouseButtonState">
            <summary>
            The state of the mouse button.
            </summary>
        </member>
        <member name="T:Microsoft.Test.VariationGeneration.NamespaceDoc">
            <summary>
            Contains facilities for combinatorial generation variation and test matrix design.
            The API allows a test to quickly construct variations of any order 
            (exhaustive, pairwise, etc.) based on a set of parameter values and parameter constraints.
            </summary>
        </member>
        <member name="T:Microsoft.Test.VariationGeneration.Constraints.ConditionalConstraint`1">
            <summary>
            Provides a constraint that uses expressions to determine the validity of a variation in a model.
            </summary>
        </member>
        <member name="T:Microsoft.Test.VariationGeneration.Constraint`1">
            <summary>
            Represents a relationship between parameters and their values, or other constraints. 
            </summary>
            <remarks>
            Exhaustively testing all possible inputs to any nontrivial software component is generally not possible
            because of the enormous number of variations. Combinatorial testing is one approach that achieves high coverage
            with a much smaller set of variations. Pairwise, the most common combinatorial strategy, tests every possible 
            pair of values. Higher orders of combinations (three-wise, four-wise, and so on) can also be used for higher coverage
            at the expense of more variations. See <a href="http://pairwise.org">Pairwise Testing</a> and 
            <a href="http://www.pairwise.org/docs/pnsqc2006/PNSQC%20140%20-%20Jacek%20Czerwonka%20-%20Pairwise%20Testing%20-%20BW.pdf">
            Pairwise Testing in Real World</a> for more resources.
            
            Ideally, all parameters in a model are independent; however, this is generally not the case. Constraints define 
            combinations of values that are impossible in the variations produced by the <see cref="T:Microsoft.Test.VariationGeneration.Model`1"/> using 
            combinatorial testing techniques.
            </remarks>
        </member>
        <member name="M:Microsoft.Test.VariationGeneration.Constraint`1.GetExcludedCombinations(Microsoft.Test.VariationGeneration.Model{`0})">
            <summary>
            Calculates the exclusions for this constraint.
            </summary>
            <param name="model">The model</param>
            <returns>
            A table containing the interaction between parameters for this constraint. All values are marked Excluded or Covered.
            </returns>
        </member>
        <member name="M:Microsoft.Test.VariationGeneration.Constraint`1.SatisfiesContraint(Microsoft.Test.VariationGeneration.Model{`0},Microsoft.Test.VariationGeneration.ValueCombination)">
            <summary>
            Calcultes whether the specified value satisfies the constraint or has insufficient data to do so.
            </summary>
            <param name="model">The model.</param>
            <param name="combination">The value.</param>
            <returns>The calculated result.</returns>
        </member>
        <member name="M:Microsoft.Test.VariationGeneration.Constraint`1.ClearCache">
            <summary>
            Clears CachedInteraction for the constraint and any children.
            </summary>
        </member>
        <member name="M:Microsoft.Test.VariationGeneration.Constraint`1.If(System.Linq.Expressions.Expression{System.Func{`0,System.Boolean}})">
            <summary>
            Creates a new predicate for an if-then-else constraint.
            </summary>
            <param name="predicate">The test as an expression.</param>
            <returns>The predicate.</returns>
        </member>
        <member name="M:Microsoft.Test.VariationGeneration.Constraint`1.Conditional(System.Linq.Expressions.Expression{System.Func{`0,System.Boolean}})">
            <summary>
            Creates a new ConditionalConstraint.
            </summary>
            <param name="predicate">The test as an expression.</param>
            <returns>The constraint.</returns>
        </member>
        <member name="P:Microsoft.Test.VariationGeneration.Constraint`1.CachedInteraction">
            <summary>
            Holds a precalculated <see cref="T:Microsoft.Test.VariationGeneration.ParameterInteraction"/> to avoid recalculation.
            </summary>
        </member>
        <member name="M:Microsoft.Test.VariationGeneration.Constraints.ConditionalConstraint`1.#ctor">
            <summary>
            Initializes a new ConditionalConstraint(T) instance.
            </summary>
        </member>
        <member name="M:Microsoft.Test.VariationGeneration.Constraints.ConditionalConstraint`1.#ctor(System.Linq.Expressions.Expression{System.Func{`0,System.Boolean}})">
            <summary>
            Initializes a new ConditionalConstraint(T) instance.
            </summary>
            <param name="condition">The condition.</param>
        </member>
        <member name="P:Microsoft.Test.VariationGeneration.Constraints.ConditionalConstraint`1.Condition">
            <summary>
            An expression that takes a variation as input and returns true if it is valid.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Theming.HwndInfo.hWnd">
            <summary>
            Hwnd
            </summary>
        </member>
        <member name="F:Microsoft.Test.Theming.HwndInfo.ProcessId">
            <summary>
            Process ID of Hwnd
            </summary>
        </member>
        <member name="T:Microsoft.Test.Text.RegexAndNode">
            <summary>
            Represents a group of tokens, each of which will be generated.
            For example abc[A-Z] is represented by a reandnode which contains two children nodes
            </summary>
        </member>
        <member name="T:Microsoft.Test.Text.PropertyFactory">
            <summary>
            PropertyFactory class stores string property objects
            </summary>
        </member>
        <member name="M:Microsoft.Test.Text.PropertyFactory.#ctor(Microsoft.Test.Text.StringProperties,Microsoft.Test.Text.UnicodeRangeDatabase,System.Collections.ObjectModel.Collection{Microsoft.Test.Text.UnicodeRange})">
            <summary>
            Create property objects according to string properties
            </summary>
        </member>
        <member name="M:Microsoft.Test.Text.PropertyFactory.HasProperty(Microsoft.Test.Text.PropertyFactory.PropertyName)">
            <summary>
            Check if property object exists
            </summary>
        </member>
        <member name="P:Microsoft.Test.Text.PropertyFactory.MinNumOfCodePoint">
            <summary>
            Minimum number of code points needed to have to cover non-null properties
            </summary>
        </member>
        <member name="P:Microsoft.Test.Text.PropertyFactory.PropertyDictionary">
            <summary>
            Create property objects according to string properties
            </summary>
        </member>
        <member name="T:Microsoft.Test.Text.PropertyFactory.PropertyName">
            <summary>
            Enum all available properties
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.PropertyFactory.PropertyName.Bidi">
            <summary>
            Bidi property
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.PropertyFactory.PropertyName.CombiningMarks">
            <summary>
            Combining mark
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.PropertyFactory.PropertyName.Eudc">
            <summary>
            EUDC
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.PropertyFactory.PropertyName.LineBreak">
            <summary>
            Line break
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.PropertyFactory.PropertyName.Number">
            <summary>
            Number
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.PropertyFactory.PropertyName.Surrogate">
            <summary>
            Surrogate
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.PropertyFactory.PropertyName.TextNormalization">
            <summary>
            Text normalization
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.PropertyFactory.PropertyName.TextSegmentation">
            <summary>
            Text segmentation
            </summary>
        </member>
        <member name="T:Microsoft.Test.ObjectComparison.XmlObjectGraphCodec">
             <summary>
             Represents a codec for encoding object graphs to and decoding them from XML.
             </summary>
             <remarks>
             Please note that there is a possible data loss associated with encoding an object 
             graph into an XML format. E.g., <see cref="T:Microsoft.Test.ObjectComparison.XmlObjectGraphCodec"/> does not
             persist information about data types. In particular it affects graph node comparison.
             Consider two object graphs: the first one, OG1, was built from a 'live' object, the
             second one, OG2, was decoded from XML. Before comparing those two object graphs you
             might need to 'round-trip' OG1 through <see cref="T:Microsoft.Test.ObjectComparison.XmlObjectGraphCodec"/> to simulate
             the same data loss as the one occurred to OG2.
             </remarks>
             <example>
             The following example demonstrates how to use <see cref="T:Microsoft.Test.ObjectComparison.XmlObjectGraphCodec"/>
             to encode an object graph into XML.
             <c>
             class Person
             {
                 public Person(string name)
                 {
                     Name = name;
                     Children = new Collection&lt;Person&gt;();
                 }
                 public string Name { get; set; }
                 public Collection&lt;Person&gt; Children { get; private set; }
             }
             </c>
             <c>
             var p1 = new Person("John");
             p1.Children.Add(new Person("Peter"));
             p1.Children.Add(new Person("Mary"));
            
             // Create an object graph
             var factory = new PublicPropertyObjectGraphFactory();
             var graph1 = factory.CreateObjectGraph(p1);
            
             // Encode a constructed object graph into XML
             var stream = new MemoryStream();
             new XmlObjectGraphCodec().EncodeObjectGraph(graph1, stream);
            
             // Output the resulting XML into the Console window
             stream.Position = 0;
             using (var reader = new StreamReader(stream))
             {
                 Trace.WriteLine(reader.ReadToEnd());
             }
             </c>
             <para/>
             The example below shows to perform a round-trip mentioned before to simulate
             encoding-decoding data loss.
             <c>
             var p1 = new Person("John");
             p1.Children.Add(new Person("Peter"));
             p1.Children.Add(new Person("Mary"));
             
             // Create an object graph
             var factory = new PublicPropertyObjectGraphFactory();
             var graph1 = factory.CreateObjectGraph(p1);
             
             // Simulate round-trip data loss
             {
                 var roundtripStream = new MemoryStream();
                 var xmlCodec = new XmlObjectGraphCodec();
                 xmlCodec.EncodeObjectGraph(graph1, roundtripStream);
                 graph1 = xmlCodec.DecodeObjectGraph(stream);
             }
             
             // Decode a baseline graph from the earlier prepared stream
             var graph2 = new XmlObjectGraphCodec().DecodeObjectGraph(stream);
             
             var result = new ObjectGraphComparer().Compare(graph1, graph2);
             Trace.WriteLine("{0}", result ? "Object graphs are equal!" : "Object graphs are NOT equal!");
             </c>
             </example>
        </member>
        <member name="T:Microsoft.Test.ObjectComparison.ObjectGraphCodec">
            <summary>
            Represents a base class for object graph codecs.
            </summary>
            <remarks>
            Object graph codecs are used for encoding object graphs into 
            and decoding them from data streams. In other words a codec 
            knows how to serialize object graphs into a specific data
            format (e.g., XML) and how to deserialize them from that 
            format.
            </remarks>
            <example>
            The following example shows how to implement a simple codec.
            <c>
            class SimpleCodec : ObjectGraphCodec
            {
                public override GraphNode DecodeObjectGraph(Stream stream)
                {
                    stream.Position = 0;
                    var bytes = new byte[stream.Length];
                    stream.Read(bytes, 0, bytes.Length);
                    var reader = new StringReader(Encoding.UTF8.GetString(bytes));
                    var line = reader.ReadLine();
                    var root = DecodeGraphNode(line);
                    while ((line = reader.ReadLine()) != null)
                    {
                        var child = DecodeGraphNode(line);
                        child.Parent = root;
                        root.Children.Add(child);
                    }
            
                    return root;
                }
            
                public override void EncodeObjectGraph(GraphNode root, Stream stream)
                {
                    var builder = new StringBuilder();
                    EncodeGraphNode(root, builder);
                    foreach (var c in root.Children)
                    {
                        EncodeGraphNode(c, builder);
                    }
            
                    var bytes = Encoding.UTF8.GetBytes(builder.ToString());
                    stream.Write(bytes, 0, bytes.Length);
                }
            
                private void EncodeGraphNode(GraphNode node, StringBuilder builder)
                {
                    builder.AppendFormat("[{0}]:{1}", node.Name, node.ObjectValue);
                    builder.AppendLine();
                }
            
                private GraphNode DecodeGraphNode(string line)
                {
                    var match = Regex.Match(line, @"^\[(.*)\]:(.*)");
                    Debug.Assert(match.Success);
                    var node = new GraphNode
                    {
                        // Group #0 is the string itself, skip it
                        Name = match.Groups[1].Value,
                        ObjectValue = match.Groups[2].Value
                    };
            
                    return node;
                }
            }
            </c>
            <c>
            class Person
            {
                public Person(string name)
                {
                    Name = name;
                    Children = new Collection&lt;Person&gt;();
                }
                public string Name { get; set; }
                public Collection&lt;Person&gt; Children { get; private set; }
            }
            </c>
            <c>
            var p1 = new Person("John");
            p1.Children.Add(new Person("Peter"));
            p1.Children.Add(new Person("Mary"));
            
            // Create a sample object graph
            var factory = new PublicPropertyObjectGraphFactory();
            var graph1 = factory.CreateObjectGraph(p1);
            
            // Encode that object graph
            var stream = new MemoryStream();
            var codec = new SimpleCodec();
            codec.EncodeObjectGraph(graph1, stream);
                    
            // Print the result
            Console.WriteLine(Encoding.UTF8.GetString(stream.GetBuffer()));
            
            // Decode the object graph
            var graph2 = codec.DecodeObjectGraph(stream);
            
            // Result should be false, because we encoded only tree top nodes
            // from the whole object graph
            var result = new ObjectGraphComparer().Compare(graph1, graph2);
            Trace.WriteLine("{0}", result ? "Object graphs are equal!" : "Object graphs are NOT equal!");
            </c>
            </example>
        </member>
        <member name="M:Microsoft.Test.ObjectComparison.ObjectGraphCodec.DecodeObjectGraph(System.IO.Stream)">
            <summary>
            Decodes an object graph from a stream.
            </summary>
            <param name="stream">The stream containing an encoded object graph.</param>
            <returns>The decoded object graph.</returns>
        </member>
        <member name="M:Microsoft.Test.ObjectComparison.ObjectGraphCodec.EncodeObjectGraph(Microsoft.Test.ObjectComparison.GraphNode,System.IO.Stream)">
            <summary>
            Encodes an object graph and saves it into a stream.
            </summary>
            <param name="root">The root of an object graph to be encoded.</param>
            <param name="stream">The stream to save the encoded object graph to.</param>
        </member>
        <member name="F:Microsoft.Test.ObjectComparison.XmlObjectGraphCodec.ComparisonStrategyXmlAttribute">
            <summary>
            Name of an XML attribute used to store a type name of a comparison strategy of a node.
            </summary>
        </member>
        <member name="M:Microsoft.Test.ObjectComparison.XmlObjectGraphCodec.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:Microsoft.Test.ObjectComparison.XmlObjectGraphCodec"/> class.
            </summary>
        </member>
        <member name="M:Microsoft.Test.ObjectComparison.XmlObjectGraphCodec.#ctor(System.Collections.Generic.HashSet{Microsoft.Test.ObjectComparison.ObjectGraphComparisonStrategy})">
            <summary>
            Initializes a new instance of the <see cref="T:Microsoft.Test.ObjectComparison.XmlObjectGraphCodec"/> class with
            the collection of comparison strategies.
            </summary>
            <param name="strategies">
            The set of strategies. This set is used during decoding of object graphs
            from an XML stream to restore comparison strategies originally attached to object graph
            nodes. See the <see cref="M:Microsoft.Test.ObjectComparison.XmlObjectGraphCodec.EncodeObjectGraph(Microsoft.Test.ObjectComparison.GraphNode,System.IO.Stream)"/> method for more details.
            </param>
        </member>
        <member name="M:Microsoft.Test.ObjectComparison.XmlObjectGraphCodec.DecodeObjectGraph(System.IO.Stream)">
            <summary>
            Decodes an object graph from XML data provided in a <paramref name="stream"/>.
            </summary>
            <param name="stream">The stream containing XML data to decode an object graph from.</param>
            <returns>The decoded object graph.</returns>
            <remarks>
            The collection of comparison strategies passed into the 
            <see cref="M:Microsoft.Test.ObjectComparison.XmlObjectGraphCodec.#ctor(System.Collections.Generic.HashSet{Microsoft.Test.ObjectComparison.ObjectGraphComparisonStrategy})"/>
            constructor is used to restore comparison strategies used to be attached to graph nodes.
            </remarks>
            <exception cref="T:System.Xml.XmlException">
            XML data for a graph node specifies a strategy which name is empty or whitespaces
            -or-
            XML data for a graph node specifies a strategy that cannot be found in comparison strategies 
            collection and the value of the <see cref="P:Microsoft.Test.ObjectComparison.XmlObjectGraphCodec.ThrowExceptionOnUnknownComparisonStrategy"/> 
            property is <see lang="true"/>.
            </exception>
        </member>
        <member name="M:Microsoft.Test.ObjectComparison.XmlObjectGraphCodec.EncodeObjectGraph(Microsoft.Test.ObjectComparison.GraphNode,System.IO.Stream)">
            <summary>
            Encodes a given object graph into XML representation and saves it 
            into a <paramref name="stream"/>.
            </summary>
            <param name="root">The root of an object graph to be encoded.</param>
            <param name="stream">The stream to save the encoded object graph to.</param>
            <remarks>
            If nodes of the object graph have comparison strategy attached, an additional
            XML attribute is created for those nodes to store type names of comparison
            strategies. The name of this attribute can be retrieved from 
            <see cref="F:Microsoft.Test.ObjectComparison.XmlObjectGraphCodec.ComparisonStrategyXmlAttribute"/>.
            <para/><see cref="P:System.Text.Encoding.UTF8"/> encoding is used for XML.
            <para/>Please note that <see cref="T:Microsoft.Test.ObjectComparison.XmlObjectGraphCodec"/> encodes into XML 
            only leaf node values. That is if <see cref="P:Microsoft.Test.ObjectComparison.GraphNode.ObjectValue"/> of a non-leaf 
            node is not <see lang="null"/> it is ignored.
            <para/>Cyclic object graphs are encoded in the depth-first order.
            </remarks>
        </member>
        <member name="M:Microsoft.Test.ObjectComparison.XmlObjectGraphCodec.CreateObjectGraphFromXml(System.Xml.XmlReader)">
            <summary>
            Creates the object graph from XML. Recursively calls itself if needed.
            </summary>
        </member>
        <member name="M:Microsoft.Test.ObjectComparison.XmlObjectGraphCodec.SaveObjectGraphToXml(Microsoft.Test.ObjectComparison.GraphNode,System.Xml.XmlWriter,System.Collections.Generic.HashSet{Microsoft.Test.ObjectComparison.GraphNode})">
            <summary>
            Exports the object graph into XML.
            </summary>
            <param name="root">The root of the object graph.</param>
            <param name="writer">The XML writer used to export the object graph.</param>
            <param name="visited">The visited nodes to deal with cyclic object graphs.</param>
        </member>
        <member name="M:Microsoft.Test.ObjectComparison.XmlObjectGraphCodec.IsEmptyElement(System.Xml.XmlReader)">
            <summary>
            Determines whether the current XML <paramref name="reader"/> element it empty and moves to the
            next content element, if it is.
            </summary>
        </member>
        <member name="M:Microsoft.Test.ObjectComparison.XmlObjectGraphCodec.HasNonvisitedChildren(Microsoft.Test.ObjectComparison.GraphNode,System.Collections.Generic.HashSet{Microsoft.Test.ObjectComparison.GraphNode})">
            <summary>
            Determines whether the specified node has nonvisited children.
            </summary>
            <param name="node">The node.</param>
            <param name="visited">The visited.</param>
        </member>
        <member name="M:Microsoft.Test.ObjectComparison.XmlObjectGraphCodec.MoveToNextContent(System.Xml.XmlReader)">
            <summary>
            Moves XML <paramref name="reader"/> cursor to the next content element.
            </summary>
        </member>
        <member name="M:Microsoft.Test.ObjectComparison.XmlObjectGraphCodec.GetStrategyName(Microsoft.Test.ObjectComparison.ObjectGraphComparisonStrategy)">
            <summary>
            Gets the name of the strategy.
            </summary>
        </member>
        <member name="M:Microsoft.Test.ObjectComparison.XmlObjectGraphCodec.TryFindStrategy(System.String,Microsoft.Test.ObjectComparison.ObjectGraphComparisonStrategy@)">
            <summary>
            Tries to find the strategy by its name.
            </summary>
        </member>
        <member name="M:Microsoft.Test.ObjectComparison.XmlObjectGraphCodec.GetStrategy(System.Xml.XmlReader)">
            <summary>
            Gets the comparison strategy for the current XML node.
            </summary>
            <param name="reader">The XML reader.</param>
        </member>
        <member name="P:Microsoft.Test.ObjectComparison.XmlObjectGraphCodec.ThrowExceptionOnUnknownComparisonStrategy">
            <summary>
            Gets or sets a value indicating whether an exception should be thrown 
            during decoding of an object graph, if XML data for some node of the graph
            specifies a comparison strategy unknown to the <see cref="T:Microsoft.Test.ObjectComparison.XmlObjectGraphCodec"/>.
            </summary>
            <value>
            	<c>true</c> if an exception should be thrown; otherwise, <c>false</c>. 
            	The default is <c>true</c>.
            </value>
            <remarks>
            Comparison strategies can be specified during construction time using the
            <see cref="M:Microsoft.Test.ObjectComparison.XmlObjectGraphCodec.#ctor(System.Collections.Generic.HashSet{Microsoft.Test.ObjectComparison.ObjectGraphComparisonStrategy})"/>
            constructor.
            </remarks>
        </member>
        <member name="T:Microsoft.Test.ObjectComparison.ObjectGraphFactory">
             <summary>
             Creates a graph for the provided object.
             </summary>
             <example>
             The following example demonstrates the use of a simple factory to do shallow comparison of two objects.
             <code>
             class Person
             {
                 public Person(string name)
                 {
                     Name = name;
                     Children = new Collection&lt;Person&gt;();
                 }
                 public string Name { get; set; }
                 public Collection&lt;Person&gt; Children { get; private set; }
             }
             </code>
             <code>
             class SimpleObjectGraphFactory : ObjectGraphFactory
             {
                 public override GraphNode CreateObjectGraph(object o, ObjectGraphFactoryMap factoryMap = null)
                 {
                     // Build the object graph with nodes that need to be compared.
                     // in this particular case, we only pick up the object itself
                     GraphNode node = new GraphNode();
                     node.Name = "PersonObject";
                     node.ObjectValue = (o as Person).Name;
                     return node;
                 }
             }
             </code>
             <code>
             Person p1 = new Person("John");
             p1.Children.Add(new Person("Peter"));
             p1.Children.Add(new Person("Mary"));
            
             Person p2 = new Person("John");
             p2.Children.Add(new Person("Peter"));
            
             ObjectGraphFactory factory = new SimpleObjectGraphFactory();
             ObjectComparer comparer = new ObjectComparer(factory);
             Console.WriteLine(
                 "Objects p1 and p2 {0}",
                 comparer.Compare(p1, p2) ? "match!" : "do NOT match!");
             </code>
             </example>
        </member>
        <member name="M:Microsoft.Test.ObjectComparison.ObjectGraphFactory.CreateObjectGraph(System.Object,Microsoft.Test.ObjectComparison.ObjectGraphFactoryMap)">
            <summary>
            Creates a graph for the given object.
            </summary>
            <param name="value">The object to convert.</param>
            <param name="factoryMap">
            The factory map is used when the currect factory encounters an object of a type
            it does not work with. In this case the factory should use the map to find a factory
            for that type and use it.
            </param>
            <returns>The root node of the created graph.</returns>
        </member>
        <member name="T:Microsoft.Test.ApplicationControl.OutOfProcessApplicationSettings">
            <summary>
            Configures an out-of-process automated application.
            </summary>
        </member>
        <member name="T:Microsoft.Test.ApplicationControl.ApplicationSettings">
            <summary>
            Provides configuration information for an <see cref="T:Microsoft.Test.ApplicationControl.AutomatedApplication"/>.
            </summary>
        </member>
        <member name="P:Microsoft.Test.ApplicationControl.ApplicationSettings.ApplicationImplementationFactory">
            <summary>
            The interface used for creation of the AutomatedApplicationImplementation.
            </summary>        
        </member>
        <member name="P:Microsoft.Test.ApplicationControl.OutOfProcessApplicationSettings.ProcessStartInfo">
            <summary>
            The ProcessStartInfo to start a process.
            </summary>
        </member>
        <member name="T:Microsoft.Test.ApplicationControl.InProcessApplicationSettings">
            <summary>
            Configures an in-process automated application.
            </summary>
        </member>
        <member name="P:Microsoft.Test.ApplicationControl.InProcessApplicationSettings.Path">
            <summary>
            Path to the application. 
            </summary>
        </member>
        <member name="P:Microsoft.Test.ApplicationControl.InProcessApplicationSettings.InProcessApplicationType">
            <summary>
            The type of application to create.
            </summary>
        </member>
        <member name="T:Microsoft.Test.VisualVerification.WindowSnapshotMode">
            <summary>
            WindowSnapshotMode determines if window border should be captured as part of Snapshot.
            </summary>
        </member>
        <member name="F:Microsoft.Test.VisualVerification.WindowSnapshotMode.ExcludeWindowBorder">
            <summary>
            Capture a snapshot of only the window client area. This mode excludes the window border.
            </summary>
        </member>
        <member name="F:Microsoft.Test.VisualVerification.WindowSnapshotMode.IncludeWindowBorder">
            <summary>
            Capture a snapshot of the entire window area. This mode includes the window border. 
            </summary>
        </member>
        <member name="T:Microsoft.Test.VariationGeneration.ValueCombination">
            <summary>
            A single value in the model
            </summary>
        </member>
        <member name="P:Microsoft.Test.VariationGeneration.ValueCombination.ParameterToValueMap">
            <summary>
            Dictionary that maps a parameter to its value
            </summary>
        </member>
        <member name="T:Microsoft.Test.VariationGeneration.Constraints.IfThenConstraint`1">
            <summary>
            Represents a condition if the expression in the predicate is true.
            </summary>
            <typeparam name="T">The type of variation being operated on.</typeparam>
        </member>
        <member name="T:Microsoft.Test.VariationGeneration.ConstraintExtensions">
            <summary>
            Holds extension methods that construct if-then-else constraints.
            </summary>
        </member>
        <member name="M:Microsoft.Test.VariationGeneration.ConstraintExtensions.Then``1(Microsoft.Test.VariationGeneration.Constraints.IfPredicate{``0},System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}})">
            <summary>
            Constructs an if-then constraint.
            </summary>
            <typeparam name="T">Type of the variation being acted on.</typeparam>
            <param name="ifPredicate">The "if" portion of the if-then.</param>
            <param name="predicate">The test of the "then".</param>
            <returns>The if-then constraint.</returns>
        </member>
        <member name="M:Microsoft.Test.VariationGeneration.ConstraintExtensions.Else``1(Microsoft.Test.VariationGeneration.Constraints.IfThenConstraint{``0},System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}})">
            <summary>
            Constructs an if-then-else constraint.
            </summary>
            <typeparam name="T">Type of the variation being acted on.</typeparam>
            <param name="ifThenConstraint">The "if-then" portion of the if-then-else.</param>
            <param name="predicate">The test of the "else".</param>
            <returns>The if-then-else constraint.</returns>
        </member>
        <member name="T:Microsoft.Test.Text.RegexSubExpressionNode">
            <summary>
            This node represents a subexpression i.e. anything in parentheses.
            For example (abc) is a subexpression with one node in it.
            </summary>
        </member>
        <member name="T:Microsoft.Test.Text.RegexCompiler">
            <summary>
            Transforms given regex into set of connected nodes.
            </summary>
        </member>
        <member name="T:Microsoft.Test.Text.CommonRegexPatterns">
            <summary>
            Provides a set of commonly-used regular expression patterns.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.CommonRegexPatterns.Date">
            <summary>
            Calendar date in formats MM/DD/YYYY, MM/DD/YY, MM-DD-YYYY, MM-DD-YY, etc. Example: 12/1/2010.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.CommonRegexPatterns.EmailAddress">
            <summary>
            Email address. Examples: some.body@microsoft.com, somebody@microsoft.com.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.CommonRegexPatterns.Guid">
            <summary>
            GUID (Globally Unique Identifier). See <a href="http://msdn.microsoft.com/en-us/library/system.guid.aspx">this article</a> for more information.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.CommonRegexPatterns.IpAddress">
            <summary>
            IP address. Example: 127.0.0.1
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.CommonRegexPatterns.Time">
            <summary>
            Time in HH:MM format. Examples: 13:01, 23:59, 00:45.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.CommonRegexPatterns.UsaPhoneNumber">
            <summary>
            USA phone number. Example: 123-456-7890.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.CommonRegexPatterns.UsaSocialSecurityNumber">
            <summary>
            USA social security number. Example: 123-45-6789.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.CommonRegexPatterns.UsaZipCode">
            <summary>
            USA ZIP code. Example: 12345.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.CommonRegexPatterns.UsaZipCodeExtended">
            <summary>
            USA extended ZIP code. Example: 12345-6789.
            </summary>
        </member>
        <member name="T:Microsoft.Test.ApplicationControl.NamespaceDoc">
            <summary>
            Contains facilities allowing an automated test to control and monitor 
            an arbitrary application. The namespace provides both in-process and 
            out-of-process control facilities.
            </summary>
        </member>
        <member name="T:Microsoft.Test.VisualVerification.ColorDifference">
            <summary>
            Represents the per-channel difference between two colors.
            </summary>
        </member>
        <member name="M:Microsoft.Test.VisualVerification.ColorDifference.#ctor">
            <summary>
            Initializes a new instance of the ColorDifference class using values of zero, indicating no difference. 
            </summary>
        </member>
        <member name="M:Microsoft.Test.VisualVerification.ColorDifference.#ctor(System.Byte,System.Byte,System.Byte,System.Byte)">
            <summary>
            Initializes a new instance of the ColorDifference class, using the specified alpha, red, green and blue values.
            </summary>
            <param name="alpha">The alpha (transparency) color channel difference.</param>
            <param name="red">The red color channel difference.</param>
            <param name="green">The green color channel difference.</param>
            <param name="blue">The blue color channel difference.</param>
        </member>
        <member name="M:Microsoft.Test.VisualVerification.ColorDifference.MeetsTolerance(Microsoft.Test.VisualVerification.ColorDifference)">
            <summary>
            Returns true if this color is less than or equal to reference color on all channels.
            </summary>
            <param name="reference">The reference color to evaluate against.</param>
            <returns>True if this color is less than or equal to reference on all channels.</returns>
        </member>
        <member name="P:Microsoft.Test.VisualVerification.ColorDifference.A">
            <summary>
            Alpha (transparency) color channel difference.
            </summary>
        </member>
        <member name="P:Microsoft.Test.VisualVerification.ColorDifference.R">
            <summary>
            Red color channel difference.
            </summary>
        </member>
        <member name="P:Microsoft.Test.VisualVerification.ColorDifference.G">
            <summary>
            Green color channel difference.
            </summary>
        </member>
        <member name="P:Microsoft.Test.VisualVerification.ColorDifference.B">
            <summary>
            Blue color channel difference.
            </summary>
        </member>
        <member name="T:Microsoft.Test.VariationGeneration.ParameterValue`1">
            <summary>
            Represents a single value in a parameter.
            </summary>
            <typeparam name="T">The type of the value.</typeparam>
        </member>
        <member name="M:Microsoft.Test.VariationGeneration.ParameterValue`1.#ctor(`0)">
            <summary>
            Initializes a new value with the specified value.
            </summary>
            <param name="value">The value.</param>
        </member>
        <member name="M:Microsoft.Test.VariationGeneration.ParameterValue`1.#ctor(`0,System.Object)">
            <summary>
            Initializes a new value with the specified value and an expected result.
            </summary>
            <param name="value">The value.</param>
            <param name="tag">A user defined tag.</param>
        </member>
        <member name="M:Microsoft.Test.VariationGeneration.ParameterValue`1.#ctor(`0,System.Double)">
            <summary>
            Initializes a new value with the specified value and weight.
            </summary>
            <param name="value">The value.</param>
            <param name="weight">The weight of the value.</param>
        </member>
        <member name="M:Microsoft.Test.VariationGeneration.ParameterValue`1.#ctor(`0,System.Object,System.Double)">
            <summary>
            Initializes a new value with the specified value, tag, and weight.
            </summary>
            <param name="value">The value.</param>
            <param name="tag">A user-defined tag.</param>
            <param name="weight">The weight of the value.</param>
        </member>
        <member name="M:Microsoft.Test.VariationGeneration.ParameterValue`1.GetValue">
            <summary>
            Returns the value that this ParameterValue represents.
            </summary>
            <returns>The value.</returns>
        </member>
        <member name="P:Microsoft.Test.VariationGeneration.ParameterValue`1.Value">
            <summary>
            The actual value.
            </summary>
        </member>
        <member name="T:Microsoft.Test.VariationGeneration.Constraints.IfThenElseConstraint`1">
            <summary>
            Optionally represents a condition if the expression in <see cref="T:Microsoft.Test.VariationGeneration.Constraints.IfPredicate`1"/> is false.
            </summary>
            <typeparam name="T">The type of variation being operated on.</typeparam>
        </member>
        <member name="T:Microsoft.Test.VariationGeneration.CandidateCoverage">
            <summary>
            Pairs a combination in consideration for addition to a variation with how many combinations it will cover
            </summary>
        </member>
        <member name="T:Microsoft.Test.Text.TextUtil">
            <summary>
            A collection of const, enum, and struc declaration and static utility function
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.TextUtil.NUMOFSCRIPTS">
            <summary>
            Define number of scripts in Unicode
            <a href="http://www.unicode.org/charts/#scripts">Newline</a> 
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.TextUtil.NUMOFSYMBOLSANDPUNCTUATION">
            <summary>
            Define number of symbols and punctuation in Unicode
            <a href="http://www.unicode.org/charts/#symbols">Newline</a> 
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.TextUtil.MaxUnicodePoint">
            <summary>
            Maximum Unicode Point value
            <a href="http://www.unicode.org/reports/tr19/tr19-9.html">Newline</a> 
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.TextUtil.MAXNUMOFCODEPOINT">
            <summary>
            Maximum number of code points defined for a string to be generated
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.TextUtil.MAXNUMITERATION">
            <summary>
            Maximum number iteration used in while loop to guard from infinite loops.
            </summary>
        </member>
        <member name="M:Microsoft.Test.Text.TextUtil.GetRandomCodePoint(Microsoft.Test.Text.UnicodeRange,System.Int32,System.Int32[],System.Int32)">
            <summary>
            Get a random Unicode point (points if it is Surrogate) from the given range
            </summary>
        </member>
        <member name="M:Microsoft.Test.Text.TextUtil.IntToString(System.Int32)">
            <summary>
            Convert int to string
            </summary>
        </member>
        <member name="T:Microsoft.Test.Text.TextUtil.CultureIds">
            <summary>
            Defined ids to help identifying which country/region where the script or symbol is used. If id is defined in LCID,
             LCID is used. Otherwise, spell the full name in lower case. '-' is used to omitted.
            <a href="http://www.unicode.org/charts/">Newline</a> 
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.TextUtil.CultureIds.Null">
            <summary>
            Null - don't care
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.TextUtil.CultureIds.any">
            <summary>
            Can be used in any content
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.TextUtil.CultureIds.ar">
            <summary>
            Arabic countries
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.TextUtil.CultureIds.azaz">
            <summary>
            Azerbaijani - Cyrillic
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.TextUtil.CultureIds.bangladesh">
            <summary>
            Bangladesh
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.TextUtil.CultureIds.ca">
            <summary>
            Canada
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.TextUtil.CultureIds.cambodia">
            <summary>
            Cambodia
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.TextUtil.CultureIds.cameroon">
            <summary>
            Cameroon
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.TextUtil.CultureIds.carians">
            <summary>
            Carians 
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.TextUtil.CultureIds.cuneiform">
            <summary>
            Cuneiform 
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.TextUtil.CultureIds.cyprus">
            <summary>
            Cyprus 
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.TextUtil.CultureIds.de">
            <summary>
            German
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.TextUtil.CultureIds.eg">
            <summary>
            Egypt
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.TextUtil.CultureIds.el">
            <summary>
            Greece
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.TextUtil.CultureIds.en">
            <summary>
            English speaking countries
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.TextUtil.CultureIds.ethiopia">
            <summary>
            Ethiopia
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.TextUtil.CultureIds.georgia">
            <summary>
            Georgia
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.TextUtil.CultureIds.glagolitsa">
            <summary>
            Glagolitsa 
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.TextUtil.CultureIds.he">
            <summary>
            Israel
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.TextUtil.CultureIds.hi">
            <summary>
            India
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.TextUtil.CultureIds.hy">
            <summary>
            Armenia
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.TextUtil.CultureIds.id">
            <summary>
            Indonesia
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.TextUtil.CultureIds.ie">
            <summary>
            Ireland
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.TextUtil.CultureIds.iran">
            <summary>
            Iran /Percian
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.TextUtil.CultureIds.ja">
            <summary>
            Japan
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.TextUtil.CultureIds.kharoshthi">
            <summary>
            Kharoshthi 
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.TextUtil.CultureIds.ko">
            <summary>
            Korea
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.TextUtil.CultureIds.lao">
            <summary>
            Lao
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.TextUtil.CultureIds.latin">
            <summary>
            Latin
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.TextUtil.CultureIds.lycia">
            <summary>
            Lycian 
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.TextUtil.CultureIds.maldives">
            <summary>
            Maldives
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.TextUtil.CultureIds.mongolia">
            <summary>
            Monglian
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.TextUtil.CultureIds.myanmar">
            <summary>
            Myanmar
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.TextUtil.CultureIds.nepal">
            <summary>
            Nepal
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.TextUtil.CultureIds.nko">
            <summary>
            N'KO
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.TextUtil.CultureIds.oldturkic">
            <summary>
            Turkic ancient form
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.TextUtil.CultureIds.other">
            <summary>
            Not classified
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.TextUtil.CultureIds.ph">
            <summary>
            Phillippines
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.TextUtil.CultureIds.phaistosdisc">
            <summary>
            Phaistos
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.TextUtil.CultureIds.phoenicia">
            <summary>
            Phoenician 
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.TextUtil.CultureIds.samaria">
            <summary>
            Samaritan 
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.TextUtil.CultureIds.singapore">
            <summary>
            Singapore
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.TextUtil.CultureIds.somalia">
            <summary>
            Somalia
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.TextUtil.CultureIds.srilanka">
            <summary>
            Sri Lanka
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.TextUtil.CultureIds.srsp">
            <summary>
            Serbian - Cyrillic
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.TextUtil.CultureIds.sylotinagri">
            <summary>
            Syloti
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.TextUtil.CultureIds.syriac">
            <summary>
            Syriac scripts
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.TextUtil.CultureIds.th">
            <summary>
            Thailand
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.TextUtil.CultureIds.tifinagh">
            <summary>
            Tifinagh
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.TextUtil.CultureIds.us">
            <summary>
            US native languages
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.TextUtil.CultureIds.uzuz">
            <summary>
            Uzbek - Cyrillic
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.TextUtil.CultureIds.vai">
            <summary>
            Vai
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.TextUtil.CultureIds.vi">
            <summary>
            Vietnam
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.TextUtil.CultureIds.zh">
            <summary>
            Chinese
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.TextUtil.CultureIds.zhtw">
            <summary>
            Chinese Taiwan
            </summary>
        </member>
        <member name="T:Microsoft.Test.Text.TextUtil.UnicodeChartType">
            <summary>
            Unicode character code chart types
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.TextUtil.UnicodeChartType.Script">
            <summary>
            Unicode character code chart types is Script
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.TextUtil.UnicodeChartType.Symbol">
            <summary>
            Unicode character code chart types is Symbol
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.TextUtil.UnicodeChartType.Punctuation">
            <summary>
            Unicode character code chart types is Punctuation
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.TextUtil.UnicodeChartType.Other">
            <summary>
            Unicode character code chart types is Other than three types above
            </summary>
        </member>
        <member name="T:Microsoft.Test.Text.GroupAttributes">
            <summary>
            An enum type to have each enum type associate with attributes in Group
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.GroupAttributes.GroupName">
            <summary>
            Name of the Group
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.GroupAttributes.Name">
            <summary>
            Name
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.GroupAttributes.Ids">
            <summary>
            Culture ids
            </summary>
        </member>
        <member name="T:Microsoft.Test.FaultInjection.FaultDispatcher">
            <summary>
            Calls the appropriate fault for a given faulted method.
            </summary>
            <remarks>
            The FaultDispatcher class contains a static method <see cref="M:Microsoft.Test.FaultInjection.FaultDispatcher.Trap(System.Exception@,System.Object@)"/>, which is called by the MSIL code, 
            injected in the faulted method, in order to dispatch to the specific fault.
            </remarks>
        </member>
        <member name="M:Microsoft.Test.FaultInjection.FaultDispatcher.Trap(System.Exception@,System.Object@)">
            <summary>
            Injected into the prologue of the target method.
            </summary>
            <param name="exceptionValue">Exception thrown by fault</param>
            <param name="returnValue">Value to return from fault</param>
            <returns></returns>
            <remarks>
            Trap creates a RuntimeContext for the current call and evaluates
            the fault condition's Trigger method.  If it evaluates to true
            the fault's Retrieve method is called.
            </remarks>
        </member>
        <member name="T:Microsoft.Test.ApplicationControl.InProcessApplicationType">
            <summary>
            Defines the Thread and AppDomain properties of an InProcessApplication.
            </summary>
        </member>
        <member name="F:Microsoft.Test.ApplicationControl.InProcessApplicationType.InProcessSeparateThread">
            <summary>
            The application runs in-process and on a separate thread.
            </summary>
        </member>
        <member name="F:Microsoft.Test.ApplicationControl.InProcessApplicationType.InProcessSeparateThreadAndAppDomain">
            <summary>
            The application runs in-process, on a separate thread and 
            in a separate AppDomain.
            </summary>
        </member>
        <member name="F:Microsoft.Test.ApplicationControl.InProcessApplicationType.InProcessSameThread">
            <summary>
            The application runs in-process and on the same thread.
            </summary>
        </member>
        <member name="T:Microsoft.Test.VisualVerification.SnapshotColorVerifier">
            <summary>
            Verifies that all pixels in a Snapshot are within tolerance range of ExpectedColor.
            </summary>
        </member>
        <member name="M:Microsoft.Test.VisualVerification.SnapshotColorVerifier.#ctor">
            <summary>
            Initializes a new instance of a SnapshotColorVerifier class, using black pixels with zero tolerance.
            </summary>
        </member>
        <member name="M:Microsoft.Test.VisualVerification.SnapshotColorVerifier.#ctor(System.Drawing.Color,Microsoft.Test.VisualVerification.ColorDifference)">
            <summary>
            Initializes a new instance of the SnapshotColorVerifier class, using the specified tolerance value. 
            </summary>
            <param name="expectedColor">The expected color to test against.</param>
            <param name="tolerance">A ColorDifference instance specifying the desired tolerance.</param>
        </member>
        <member name="M:Microsoft.Test.VisualVerification.SnapshotColorVerifier.Verify(Microsoft.Test.VisualVerification.Snapshot)">
            <summary>
            Ensures that the image colors are all within tolerance range of the expected Color.
            </summary>
            <param name="image">The actual image being verified.</param>
            <returns>A VerificationResult enumeration value based on the image, the expected color, and the tolerance.</returns>
        </member>
        <member name="P:Microsoft.Test.VisualVerification.SnapshotColorVerifier.Tolerance">
            <summary>
            The color tolerance range for verification. To pass verification, all Snapshot pixels must 
            be within range of the expected color tolerance.
            </summary>
        </member>
        <member name="P:Microsoft.Test.VisualVerification.SnapshotColorVerifier.ExpectedColor">
            <summary>
            The expected Color value for verification.
            </summary>
        </member>
        <member name="T:Microsoft.Test.VisualVerification.HighFidelityColor">
            <summary>
            Represents colors channels as a set of 0-1 floats for higher fidelity internal color processing.
            </summary>
        </member>
        <member name="T:Microsoft.Test.Text.StringFactory">
             <summary>
             Provides factory methods for generation of text, interesting from the testing point of view.
             </summary>
            
             <example>
             The following example demonstrates how to generate two equivalent strings 
             of a fixed length (20 Unicode points), with numbers.
             A Unicode code point may correspond to 1 or 2 characters. For more information see <see cref="T:Microsoft.Test.Text.StringProperties"/>:
             <code>
             StringProperties properties = new StringProperties();
            
             properties.MinNumberOfCodePoints = 20;
             properties.MaxNumberOfCodePoints = 20;
             properties.HasNumbers = true;
             properties.UnicodeRanges.Add(new UnicodeRange(0, 0xFFFF));
            
             string s1 = StringFactory.GenerateRandomString(properties, 5678);
             string s2 = StringFactory.GenerateRandomString(properties, 5678);
             </code>
             </example>
             
             <example>
             The following example demonstrates how to generate a random string from a Regex pattern:
             <code>
             // Using a custom regex pattern...
             Regex emailAddress1 = new Regex(@"^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})$");
             string s1 = StringFactory.GenerateRandomString(emailAddress1, 1234);
             
             // Using a standard regex pattern...
             Regex emailAddress2 = CommonRegexPatterns.EmailAddress;
             string s2 = StringFactory.GenerateRandomString(emailAddress2, 1234);
             </code>
             </example>
        </member>
        <member name="M:Microsoft.Test.Text.StringFactory.GenerateRandomString(Microsoft.Test.Text.StringProperties,System.Int32)">
             <summary>
             Returns a string, conforming to the <see cref="T:Microsoft.Test.Text.StringProperties"/> provided.
             </summary>
             <param name="stringProperties">The properties of the strings to be generated by the factory.</param>
             <param name="seed">The random number generator seed.</param>
             <returns>A string, conforming to the previously specified properties.</returns>
             
             <example>
             The following example demonstrates how to generate two equivalent strings 
             of a fixed length (20 Unicode points), with numbers.
             A Unicode code point may correspond to 1 or 2 characters. For more information see <see cref="T:Microsoft.Test.Text.StringProperties"/>:
             <code>
             StringProperties properties = new StringProperties();
            
             properties.MinNumberOfCodePoints = 20;
             properties.MaxNumberOfCodePoints = 20;
             properties.HasNumbers = true;
             properties.UnicodeRanges.Add(new UnicodeRange(0, 0xFFFF));
            
             string s1 = StringFactory.GenerateRandomString(properties, 5678);
             string s2 = StringFactory.GenerateRandomString(properties, 5678);
             </code>
             </example>
        </member>
        <member name="M:Microsoft.Test.Text.StringFactory.GenerateRandomString(System.Text.RegularExpressions.Regex,System.Int32)">
            <summary>
            Returns a random string, conforming to the provided regular expression pattern.
            </summary>
            <param name="regex">The regular expression, which the generated string should conform to.</param>
            <param name="seed">The random number generator seed.</param>
            <returns>A string, conforming to the provided regular expression pattern.</returns>
            
            <example>
            The following example demonstrates how to generate a random string from a Regex pattern:
            <code>
            // Using a custom regex pattern...
            Regex emailAddress1 = new Regex(@"^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})$");
            string s1 = StringFactory.GenerateRandomString(emailAddress1, 1234);
            
            // Using a standard regex pattern...
            Regex emailAddress2 = CommonRegexPatterns.EmailAddress;
            string s2 = StringFactory.GenerateRandomString(emailAddress2, 1234);
            </code>
            </example>
        </member>
        <member name="M:Microsoft.Test.Text.StringFactory.GetNextCodePoint(System.Random,System.Int32)">
            <summary>
            Get next code point
            </summary>
        </member>
        <member name="M:Microsoft.Test.Text.StringFactory.SurrogatePairStringToInt(System.String)">
            <summary>
            Convert a pair of Surrogate from string to UTF32
            </summary>
        </member>
        <member name="M:Microsoft.Test.Text.StringFactory.GenerateBidiString(System.Int32,System.Int32)">
            <summary>
            Construct bidi string
            </summary>
        </member>
        <member name="M:Microsoft.Test.Text.StringFactory.GenerateCombiningMarkString(System.Int32,System.Int32)">
            <summary>
            Construct string with combining marks
            </summary>
        </member>
        <member name="M:Microsoft.Test.Text.StringFactory.GenerateStringWithEudc(System.Int32,System.Int32)">
            <summary>
            Construct string with EUDC
            </summary>
        </member>
        <member name="M:Microsoft.Test.Text.StringFactory.GenerateStringWithLineBreak(System.Int32,System.Int32)">
            <summary>
            Construct string with Linebreaks
            </summary>
        </member>
        <member name="M:Microsoft.Test.Text.StringFactory.GenerateStringWithNumber(System.Int32,System.Int32)">
            <summary>
            Construct string with numbers
            </summary>
        </member>
        <member name="M:Microsoft.Test.Text.StringFactory.GenerateStringWithSurrogatePair(System.Int32,System.Int32)">
            <summary>
            Construct string with Surrogate pairs
            </summary>
        </member>
        <member name="M:Microsoft.Test.Text.StringFactory.GenerateNormalizedString(System.Int32,System.Int32)">
            <summary>
            Construct normalized text string
            </summary>
        </member>
        <member name="M:Microsoft.Test.Text.StringFactory.GenerateStringWithSegmentation(System.Int32,System.Int32)">
            <summary>
            Construct string with segmentation code point
            </summary>
        </member>
        <member name="T:Microsoft.Test.ObjectComparison.PublicPropertyObjectGraphFactory">
             <summary>
             Creates a graph by extracting public instance properties in the object. If the
             property is an IEnumerable, extract the items. If an exception is thrown
             when accessing a property on the left object, it is considered a match if 
             the same exception type is thrown when accessing the property on the right
             object.
             </summary>
            
             <example>
             For examples, refer to <see cref="T:Microsoft.Test.ObjectComparison.ObjectGraphComparer"/>.
             </example>
        </member>
        <member name="M:Microsoft.Test.ObjectComparison.PublicPropertyObjectGraphFactory.CreateObjectGraph(System.Object,Microsoft.Test.ObjectComparison.ObjectGraphFactoryMap)">
            <summary>
            Creates a graph for the given object by extracting public properties.
            </summary>
            <param name="value">The object to convert.</param>
            <param name="factoryMap">
            If this parameter is not equal <see lang="null"/>, the map is used
            for each inner object to find out whether some other factory wants 
            to process it.
            </param>
            <returns>The root node of the created graph.</returns>
        </member>
        <member name="M:Microsoft.Test.ObjectComparison.PublicPropertyObjectGraphFactory.GetChildNodes(System.Object,Microsoft.Test.ObjectComparison.ObjectGraphFactoryMap)">
            <summary>
            Given an object, get a list of tuples of the immediate child nodes.
            </summary>
            <param name="nodeData">The object whose child nodes need to be extracted</param>
            <param name="factoryMap">The factory map.</param>
        </member>
        <member name="T:Microsoft.Test.ObjectComparison.ObjectGraphComparisonStrategy">
            <summary>
            Represents a base class for all comparison strategies.
            </summary>
            <remarks>
            Comparison strategies are used to specify such things like ordered/unordered 
            collection comparison, case sensitive/insensitive string match, non-exact match and so on. 
            Each <see cref="T:Microsoft.Test.ObjectComparison.GraphNode"/> has strategy associated (if a node does not have a strategy 
            associated a default one will be used). Those strategies are useful for a general 
            object comparison scenario. Each strategy is uniquely identified by its type name. 
            Usually, the name is saved into XML (or whatever format a chosen codec uses) to be able to 
            restore that back during decoding.
            <para/>This class is not thread safe.
            </remarks>
            <example>
            The following example demonstrates how to create a custom comparison strategy. Since 
            comparison strategies are assigned to nodes by a graph factory, we will need a 
            graph factory as well.
            </example>
            <code>
            class Sample
            {
                public string Value { get; set; }
            
                public Sample Child { get; set; }
            
                public Sample(string value, Sample sample)
                {
                    Value = value;
                    Child = sample;
                }
            }
            </code>
            <code>
            class SampleFactory : ObjectGraphFactory
            {
                private static readonly ObjectGraphComparisonStrategy strategy = new SampleComparisonStrategy();
            
                public override GraphNode CreateObjectGraph(object value, ObjectGraphFactoryMap factoryMap = null)
                {
                    created = new Dictionary&lt;Sample, GraphNode&gt;();
                    return CreateObjectGraph((Sample)value, null);
                }
            
                // Visits all nodes recursively
                private GraphNode CreateObjectGraph(Sample value, GraphNode parent)
                {
                    if (created.ContainsKey(value))
                    {
                        return created[value];
                    }
            
                    var root = new GraphNode();
                    root.ObjectValue = value.Value;
                    root.ComparisonStrategy = strategy;
                    root.Parent = parent;
                    root.Name = value.GetType().Name;
                    created.Add(value, root);
                    if (value.Child != null)
                    {
                        var child = CreateObjectGraph(value.Child, root);
                        root.Children.Add(child);
                    }
            
                    return root;
                }
            
                // Keeps track of visited nodes
                private Dictionary&lt;Sample, GraphNode&gt; created;
            }
            </code>
            <code>
            class SampleComparisonStrategy : ObjectGraphComparisonStrategy
            {
                protected override IEnumerable&lt;ObjectComparisonMismatch&gt; Compare(GraphNode left, GraphNode right)
                {
                    // This comparison strategy assumes that it is attached to correct nodes
            
                    var leftString = (string)left.ObjectValue;
                    var rightString = (string)right.ObjectValue;
                    var mismatches = new List&lt;ObjectComparisonMismatch&gt;();
                    if (!string.Equals(leftString, rightString, StringComparison.OrdinalIgnoreCase))
                    {
                        mismatches.Add(new ObjectComparisonMismatch(
                            left, right, ObjectComparisonMismatchType.ObjectValuesDoNotMatch));
                    }
            
                    // Mark nodes as visited
                    MarkVisited(left);
                    MarkVisited(right);
            
                    // Compare inner nodes if any
                    CompareChildNodes(left, right);
                    return mismatches;
                }
            }
            </code>
        </member>
        <member name="M:Microsoft.Test.ObjectComparison.ObjectGraphComparisonStrategy.CompareChildNodes(Microsoft.Test.ObjectComparison.GraphNode,Microsoft.Test.ObjectComparison.GraphNode)">
            <summary>
            Compares child nodes of the given object graphs.
            </summary>
            <param name="left">The left node to compare inner nodes of.</param>
            <param name="right">The right node to compare inner nodes of.</param>
        </member>
        <member name="M:Microsoft.Test.ObjectComparison.ObjectGraphComparisonStrategy.MarkVisited(Microsoft.Test.ObjectComparison.GraphNode)">
            <summary>
            Marks the node as visited.
            </summary>
            <param name="node">The node.</param>
            <remarks>
            This method allows custom comparison strategies to perform comparison of
            cyclic object graphs.
            </remarks>
        </member>
        <member name="M:Microsoft.Test.ObjectComparison.ObjectGraphComparisonStrategy.IsVisited(Microsoft.Test.ObjectComparison.GraphNode)">
            <summary>
            Determines whether the specified node is visited.
            </summary>
            <param name="node">The node.</param>
            <returns>
              <c>true</c> if the specified node is visited; otherwise, <c>false</c>.
            </returns>
            <remarks>
            This method allows custom comparison strategies to perform comparison of
            cyclic object graphs.
            </remarks>
        </member>
        <member name="M:Microsoft.Test.ObjectComparison.ObjectGraphComparisonStrategy.Compare(Microsoft.Test.ObjectComparison.GraphNode,Microsoft.Test.ObjectComparison.GraphNode)">
            <summary>
            Performs a comparison of two object graph nodes.
            </summary>
            <param name="left">The left node.</param>
            <param name="right">The right node.</param>
            <returns>The collection of the occurred mismatches.</returns>
            <remarks>
            The strategy returns only mismatches which it records. The comparison
            of any child nodes which the strategy does not work with should be
            done using the <see cref="M:Microsoft.Test.ObjectComparison.ObjectGraphComparisonStrategy.CompareChildNodes(Microsoft.Test.ObjectComparison.GraphNode,Microsoft.Test.ObjectComparison.GraphNode)"/>.
            <para/>The strategy is responsible to marking all nodes it compares as visited
            by using <see cref="M:Microsoft.Test.ObjectComparison.ObjectGraphComparisonStrategy.MarkVisited(Microsoft.Test.ObjectComparison.GraphNode)"/> method. That prevents possible infinite loops
            while comparing cyclic object graphs. The strategy can use <see cref="M:Microsoft.Test.ObjectComparison.ObjectGraphComparisonStrategy.IsVisited(Microsoft.Test.ObjectComparison.GraphNode)"/>
            to determine whether the given node has been visited already.
            <para/>If a strategy compares non-lead nodes, it might need to call 
            <see cref="M:Microsoft.Test.ObjectComparison.ObjectGraphComparisonStrategy.CompareChildNodes(Microsoft.Test.ObjectComparison.GraphNode,Microsoft.Test.ObjectComparison.GraphNode)"/> method for corresponding nodes to compare their
            child nodes.
            </remarks>
        </member>
        <member name="M:Microsoft.Test.ObjectComparison.ObjectGraphComparisonStrategy.Compare(Microsoft.Test.ObjectComparison.GraphNode,Microsoft.Test.ObjectComparison.GraphNode,Microsoft.Test.ObjectComparison.ObjectGraphComparer)">
            <summary>
            Compares the specified object graphs. It is called by <see cref="T:Microsoft.Test.ObjectComparison.ObjectGraphComparer"/>.
            </summary>
            <param name="left">The left.</param>
            <param name="right">The right.</param>
            <param name="comparer">
            The calling comparer to compare object sub-graphs, which the given strategy does 
            not work with and perform other interactions.
            </param>
            <returns>
            <c>true</c> if the specified nodes are equal; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="T:Microsoft.Test.LeakDetection.MemorySnapshot">
             <summary>
             Represents a snapshot in time of the memory consumed by a specified OS process.
             MemorySnapshot objects can be instantiated from a running process or from a file. 
             <p>MemorySnapshot objects are used for detection of <a href="http://en.wikipedia.org/wiki/Memory_leak">memory leaks</a>.</p> 
             </summary>
            
             <example>
             The following example demonstrates taking two memory snapshots of Notepad and comparing them for leaks.
             <code>
             Process p = Process.Start("notepad.exe");
             p.WaitForInputIdle(5000);
             Thread.Sleep(3000);
             MemorySnapshot s1 = MemorySnapshot.FromProcess(p.Id);
             
             // Perform operations that may cause a leak...
            
             MemorySnapshot s2 = MemorySnapshot.FromProcess(p.Id);
            
             MemorySnapshot diff = s2.CompareTo(s1);
             if (diff.GdiObjectCount != 0)
             {
                 s1.ToFile(@"\s1.xml");
                 s2.ToFile(@"\s2.xml");
                 Console.WriteLine("Possible GDI handle leak! Review the saved memory snapshots.");
             }
             
             p.CloseMainWindow();
             p.Close();
             </code>
             </example>
            
             <remarks>
             <p>For more information on memory leak detection in native code, refer to the <a href="http://msdn.microsoft.com/en-us/library/x98tx3cf.aspx">
             Memory Leak Detection and Isolation</a> article. The table below provides a relationship between the metrics reported by the different tools: 
             </p>
             <table style="font-size:xx-small" border="1" bordercolor="#CCCCCC" cellpadding="1" cellspacing="0">
             <tr>
               <td><strong>TestApi</strong></td>
               <td><strong><a href="http://msdn.microsoft.com/en-us/library/aa373083(VS.85).aspx">Performance Counters</a></strong></td>
               <td><strong><a href="http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx">Process Explorer</a></strong></td>
               <td><strong>Task Manager (Windows 7)</strong></td>
             </tr>
             <tr>
               <td><see cref="P:Microsoft.Test.LeakDetection.MemorySnapshot.GdiObjectCount"/></td>
               <td> - </td>
               <td>Handles : GDI Objects</td>
               <td>GDI Handles</td>
             </tr>
             <tr>
               <td><see cref="P:Microsoft.Test.LeakDetection.MemorySnapshot.HandleCount"/></td>
               <td>HandleCount</td>
               <td>Handles : Handles</td>
               <td>Handles</td>
             </tr>
             <tr>
               <td><see cref="P:Microsoft.Test.LeakDetection.MemorySnapshot.PageFileBytes"/></td>
               <td>PageFileBytes</td>
               <td> - </td>
               <td> - </td>
             </tr>
             <tr>
               <td><see cref="P:Microsoft.Test.LeakDetection.MemorySnapshot.PageFilePeakBytes"/></td>
               <td>PageFileBytesPeak</td>
               <td> - </td>
               <td> - </td>
             </tr>
             <tr>
               <td><see cref="P:Microsoft.Test.LeakDetection.MemorySnapshot.PoolNonpagedBytes"/></td>
               <td>Pool Nonpaged Bytes</td>
               <td> - </td>
               <td>NonPaged Pool</td>
             </tr>
             <tr>
               <td><see cref="P:Microsoft.Test.LeakDetection.MemorySnapshot.PoolPagedBytes"/></td>
               <td>Pool Paged Bytes</td>
               <td> - </td>
               <td>Paged Pool</td>
             </tr>
             <tr>
               <td><see cref="P:Microsoft.Test.LeakDetection.MemorySnapshot.ThreadCount"/></td>
               <td> - </td>
               <td>Threads</td>
               <td>Threads</td>
             </tr>
             <tr>
               <td><see cref="P:Microsoft.Test.LeakDetection.MemorySnapshot.Timestamp"/></td>
               <td> - </td>
               <td> - </td>
               <td> - </td>
             </tr>
             <tr>
               <td><see cref="P:Microsoft.Test.LeakDetection.MemorySnapshot.UserObjectCount"/></td>
               <td> - </td>
               <td>Handles : USER Objects</td>
               <td>USER Handles</td>
             </tr>
             <tr>
               <td><see cref="P:Microsoft.Test.LeakDetection.MemorySnapshot.VirtualMemoryBytes"/></td>
               <td>VirtualBytes</td>
               <td>Virtual Memory : Virtual Size</td>
               <td> - </td>
             </tr>
             <tr>
               <td><see cref="P:Microsoft.Test.LeakDetection.MemorySnapshot.VirtualMemoryPrivateBytes"/></td>
               <td>PrivateBytes</td>
               <td>Virtual Memory : Private Bytes</td>
               <td>Commit Size</td>
             </tr>
             <tr>
               <td><see cref="P:Microsoft.Test.LeakDetection.MemorySnapshot.WorkingSetBytes"/></td>
               <td>WorkingSet</td>
               <td>Physical Memory : WorkingSet</td>
               <td>Working Set (Memory)</td>
             </tr>    
             <tr>
               <td><see cref="P:Microsoft.Test.LeakDetection.MemorySnapshot.WorkingSetPeakBytes"/></td>
               <td>WorkingSetPeak</td>
               <td>Physical Memory : Peak Working Set</td>
               <td>Peak Working Set (Memory)</td>
             </tr>    
             <tr>
               <td><see cref="P:Microsoft.Test.LeakDetection.MemorySnapshot.WorkingSetPrivateBytes"/></td>
               <td>WorkingSetPrivate</td>
               <td>Physical Memory : Working Set : WS Private</td>
               <td>Memory (Private Working Set)</td>
             </tr>    
             </table>
             </remarks>
        </member>
        <member name="M:Microsoft.Test.LeakDetection.MemorySnapshot.FromProcess(System.Int32)">
            <summary>
            Creates a MemorySnapshot instance for the specified OS process.
            </summary>
            <param name="processId">The ID of the process for which to generate the memory snapshot.</param>
            <returns>A MemorySnapshot instance containing memory information for the specified process,  
            at the time of the snapshot.</returns>                
        </member>
        <member name="M:Microsoft.Test.LeakDetection.MemorySnapshot.FromFile(System.String)">
            <summary>
            Creates a MemorySnapshot instance from data in the specified file.
            </summary>
            <param name="filePath">The path to the memory snapshot file.</param>
            <returns>A MemorySnapshot instance containing memory information recorded in the specified file.</returns>
        </member>
        <member name="M:Microsoft.Test.LeakDetection.MemorySnapshot.ToFile(System.String)">
            <summary>
            Writes the current MemorySnapshot to a file.
            </summary>
            <param name="filePath">The path to the output file.</param>
        </member>
        <member name="M:Microsoft.Test.LeakDetection.MemorySnapshot.CompareTo(Microsoft.Test.LeakDetection.MemorySnapshot)">
            <summary>
            Compares the current MemorySnapshot instance to the specified MemorySnapshot to produce a difference.
            </summary>
            <param name="memorySnapshot">The MemorySnapshot to be compared to.</param>
            <returns>A new MemorySnapshot object representing the difference between the two memory snapshots 
            (i.e. the result of the comparison).</returns>
        </member>
        <member name="M:Microsoft.Test.LeakDetection.MemorySnapshot.#ctor">
            <summary>
            An instance of the class can only be created by using one of the static From* methods.
            </summary>
        </member>
        <member name="M:Microsoft.Test.LeakDetection.MemorySnapshot.Serialize(System.Xml.XmlDocument)">
            <summary>
            Serializes a MemorySnapshot instance to xml format.
            </summary>
            <param name="xmlDoc">The XmlDocument to which the MemorySnapshot is to be serialized</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Test.LeakDetection.MemorySnapshot.Deserialize(System.Xml.XmlNode)">
            <summary>
            De-Serializes a MemorySnapshot instance from xml format.
            </summary>
            <param name="rootNode">The Xml Node from which the MemorySnapshot is to be de-serialized</param>
            <returns></returns>
        </member>
        <member name="P:Microsoft.Test.LeakDetection.MemorySnapshot.GdiObjectCount">
             <summary>
             The number of handles to GDI objects in use by the process. For more information see the 
             <a href="http://msdn.microsoft.com/en-us/library/ms683192(VS.85).aspx">GetGuiResources</a> function. 
             </summary>
            
             <remarks>
             <p> This metric is reported as follows by the other tools: </p> 
             <table style="font-size:xx-small" border="1" bordercolor="#CCCCCC" cellpadding="1" cellspacing="0">
             <tr><td><strong>Tool</strong></td><td><strong>Metric</strong></td></tr>
             <tr>
               <td>
               <a href="http://msdn.microsoft.com/en-us/library/aa373083(VS.85).aspx">Performance Counters</a></td>
               <td>n/a</td></tr>
             <tr>
               <td>
               <a href="http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx">Process Explorer</a></td>
               <td>Handles : GDI Objects</td></tr>
             <tr>
               <td>Task Manager (Windows 7)</td>
               <td>GDI Handles</td></tr>
             </table>
             </remarks>
        </member>
        <member name="P:Microsoft.Test.LeakDetection.MemorySnapshot.HandleCount">
             <summary>
             The total number of handles currently open by the process. This number is equal to the sum of the handles 
             currently open by each thread in this process.
             </summary>
            
             <remarks>
             <p> This metric is reported as follows by the other tools: </p> 
             <table style="font-size:xx-small" border="1" bordercolor="#CCCCCC" cellpadding="1" cellspacing="0">
             <tr><td><strong>Tool</strong></td><td><strong>Metric</strong></td></tr>
             <tr>
               <td>
               <a href="http://msdn.microsoft.com/en-us/library/aa373083(VS.85).aspx">Performance Counters</a></td>
               <td>HandleCount</td></tr>
             <tr>
               <td>
               <a href="http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx">Process Explorer</a></td>
               <td>Handles : Handles</td></tr>
             <tr>
               <td>Task Manager (Windows 7)</td>
               <td>Handles</td></tr>
             </table>
             </remarks>
        </member>
        <member name="P:Microsoft.Test.LeakDetection.MemorySnapshot.PageFileBytes">
             <summary>
             The current amount of virtual memory that this process has reserved for use
             in the paging file or files. Those pages may or may not be in memory.
             </summary>
            
             <remarks>
             <p> This metric is reported as follows by the other tools: </p> 
             <table style="font-size:xx-small" border="1" bordercolor="#CCCCCC" cellpadding="1" cellspacing="0">
             <tr><td><strong>Tool</strong></td><td><strong>Metric</strong></td></tr>
             <tr>
               <td>
               <a href="http://msdn.microsoft.com/en-us/library/aa373083(VS.85).aspx">Performance Counters</a></td>
               <td>PageFileBytes</td></tr>
             <tr>
               <td>
               <a href="http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx">Process Explorer</a></td>
               <td>n/a</td></tr>
             <tr>
               <td>Task Manager (Windows 7)</td>
               <td>n/a</td></tr>
             </table>
             For more information, see the <a href="http://msdn.microsoft.com/en-us/library/ms684874(VS.85).aspx">
             PROCESS_MEMORY_COUNTERS_EX</a> structure.
             </remarks>
        </member>
        <member name="P:Microsoft.Test.LeakDetection.MemorySnapshot.PageFilePeakBytes">
            <summary>
            The maximum amount of virtual memory that this process has reserved for use in 
            the paging file or files. 
            </summary>
                   
            <remarks>
            <p> This metric is reported as follows by the other tools: </p> 
            <table style="font-size:xx-small" border="1" bordercolor="#CCCCCC" cellpadding="1" cellspacing="0">
            <tr><td><strong>Tool</strong></td><td><strong>Metric</strong></td></tr>
            <tr>
              <td>
              <a href="http://msdn.microsoft.com/en-us/library/aa373083(VS.85).aspx">Performance Counters</a></td>
              <td>PageFileBytesPeak</td></tr>
            <tr>
              <td>
              <a href="http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx">Process Explorer</a></td>
              <td>n/a</td></tr>
            <tr>
              <td>Task Manager (Windows 7)</td>
              <td>n/a</td></tr>
            </table>
            For more information, see the <a href="http://msdn.microsoft.com/en-us/library/ms684874(VS.85).aspx">
            PROCESS_MEMORY_COUNTERS_EX</a> structure.
            </remarks>
        </member>
        <member name="P:Microsoft.Test.LeakDetection.MemorySnapshot.PoolNonpagedBytes">
             <summary>
             The size of the <i>nonpaged pool</i>, an area of system memory (physical memory used by the operating 
             system) for objects that cannot be written to disk but must remain in physical memory as long as they are 
             allocated.  For more information, see the <a href="http://msdn.microsoft.com/en-us/library/ms683219(VS.85).aspx">GetProcessMemoryInfo</a>
             function and the <a href="http://msdn.microsoft.com/en-us/library/ms684874(VS.85).aspx">PROCESS_MEMORY_COUNTERS_EX</a> structure.
             </summary>
            
             <remarks>
             <p> This metric is reported as follows by the other tools: </p> 
             <table style="font-size:xx-small" border="1" bordercolor="#CCCCCC" cellpadding="1" cellspacing="0">
             <tr><td><strong>Tool</strong></td><td><strong>Metric</strong></td></tr>
             <tr>
               <td>
               <a href="http://msdn.microsoft.com/en-us/library/aa373083(VS.85).aspx">Performance Counters</a></td>
               <td>Pool Nonpaged Bytes</td></tr>
             <tr>
               <td>
               <a href="http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx">Process Explorer</a></td>
               <td>n/a</td></tr>
             <tr>
               <td>Task Manager (Windows 7)</td>
               <td>NonPaged Pool</td></tr>
             </table>
             </remarks>
        </member>
        <member name="P:Microsoft.Test.LeakDetection.MemorySnapshot.PoolPagedBytes">
             <summary>
             The size of the <i>paged pool</i>, an area of system memory (physical memory used by the operating system) 
             for objects that can be written to disk when they are not being used. For more information, see 
             the <a href="http://msdn.microsoft.com/en-us/library/ms683219(VS.85).aspx">GetProcessMemoryInfo</a> function 
             and the <a href="http://msdn.microsoft.com/en-us/library/ms684874(VS.85).aspx">PROCESS_MEMORY_COUNTERS_EX</a> 
             structure.
             </summary>
            
             <remarks>
             <p> This metric is reported as follows by the other tools: </p> 
             <table style="font-size:xx-small" border="1" bordercolor="#CCCCCC" cellpadding="1" cellspacing="0">
             <tr><td><strong>Tool</strong></td><td><strong>Metric</strong></td></tr>
             <tr>
               <td>
               <a href="http://msdn.microsoft.com/en-us/library/aa373083(VS.85).aspx">Performance Counters</a></td>
               <td>Pool Paged Bytes</td></tr>
             <tr>
               <td>
               <a href="http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx">Process Explorer</a></td>
               <td>n/a</td></tr>
             <tr>
               <td>Task Manager (Windows 7)</td>
               <td>Paged Pool</td></tr>
             </table>
             </remarks>
        </member>
        <member name="P:Microsoft.Test.LeakDetection.MemorySnapshot.ThreadCount">
             <summary>
             The number of threads currently active in the process. 
             </summary>
            
             <remarks>
             <p> This metric is reported as follows by the other tools: </p> 
             <table style="font-size:xx-small" border="1" bordercolor="#CCCCCC" cellpadding="1" cellspacing="0">
             <tr><td><strong>Tool</strong></td><td><strong>Metric</strong></td></tr>
             <tr>
               <td>
               <a href="http://msdn.microsoft.com/en-us/library/aa373083(VS.85).aspx">Performance Counters</a></td>
               <td>n/a</td></tr>
             <tr>
               <td>
               <a href="http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx">Process Explorer</a></td>
               <td>Threads</td></tr>
             <tr>
               <td>Task Manager (Windows 7)</td>
               <td>Threads</td></tr>
             </table>
             </remarks>
        </member>
        <member name="P:Microsoft.Test.LeakDetection.MemorySnapshot.Timestamp">
            <summary>
            The time when the memory snapshot was taken.
            </summary>
        </member>
        <member name="P:Microsoft.Test.LeakDetection.MemorySnapshot.UserObjectCount">
             <summary>
             The number of handles to USER objects in use by the process. For more information see the 
             <a href="http://msdn.microsoft.com/en-us/library/ms683192(VS.85).aspx">GetGuiResources</a> function. 
             </summary>
            
             <remarks>
             <p> This metric is reported as follows by the other tools: </p> 
             <table style="font-size:xx-small" border="1" bordercolor="#CCCCCC" cellpadding="1" cellspacing="0">
             <tr><td><strong>Tool</strong></td><td><strong>Metric</strong></td></tr>
             <tr>
               <td>
               <a href="http://msdn.microsoft.com/en-us/library/aa373083(VS.85).aspx">Performance Counters</a></td>
               <td>n/a</td></tr>
             <tr>
               <td>
               <a href="http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx">Process Explorer</a></td>
               <td>Handles : USER Objects</td></tr>
             <tr>
               <td>Task Manager (Windows 7)</td>
               <td>USER Handles</td></tr>
             </table>
             </remarks>
        </member>
        <member name="P:Microsoft.Test.LeakDetection.MemorySnapshot.VirtualMemoryBytes">
             <summary>
             The current size of the virtual address space that the process is using. Use of virtual address space does 
             not necessarily imply corresponding use of either disk or main memory pages. Virtual space is finite,
             and the process can limit its ability to load libraries. For more information see the 
             <a href="http://msdn.microsoft.com/en-us/library/aa366589(VS.85).aspx">GlobalMemoryStatusEx</a> function 
             and the <a href="http://msdn.microsoft.com/en-us/library/aa366770(VS.85).aspx">MEMORYSTATUSEX</a> structure.
             This metric is calculated as MEMORYSTATUSEX.ullTotalVirtual – MEMORYSTATUSEX.ullAvailVirtual.
             </summary>
            
             <remarks>
             <p> This metric is reported as follows by the other tools: </p> 
             <table style="font-size:xx-small" border="1" bordercolor="#CCCCCC" cellpadding="1" cellspacing="0">
             <tr><td><strong>Tool</strong></td><td><strong>Metric</strong></td></tr>
             <tr>
               <td>
               <a href="http://msdn.microsoft.com/en-us/library/aa373083(VS.85).aspx">Performance Counters</a></td>
               <td>VirtualBytes</td></tr>
             <tr>
               <td>
               <a href="http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx">Process Explorer</a></td>
               <td>Virtual Memory : Virtual Size</td></tr>
             <tr>
               <td>Task Manager (Windows 7)</td>
               <td>n/a</td></tr>
             </table>
             </remarks>
        </member>
        <member name="P:Microsoft.Test.LeakDetection.MemorySnapshot.VirtualMemoryPrivateBytes">
             <summary>
             The current size of memory that this process has allocated that cannot be shared with other processes. For more
             information see the <a href="http://msdn.microsoft.com/en-us/library/ms683219(VS.85).aspx">GetProcessMemoryInfo</a>
             function and the <a href="http://msdn.microsoft.com/en-us/library/ms684874(VS.85).aspx">PROCESS_MEMORY_COUNTERS_EX</a>
             structure (this metric corresponds to the <b>PrivateUsage</b> field in the structure).
             </summary>
            
             <remarks>
             <p> This metric is reported as follows by the other tools: </p> 
             <table style="font-size:xx-small" border="1" bordercolor="#CCCCCC" cellpadding="1" cellspacing="0">
             <tr><td><strong>Tool</strong></td><td><strong>Metric</strong></td></tr>
             <tr>
               <td>
               <a href="http://msdn.microsoft.com/en-us/library/aa373083(VS.85).aspx">Performance Counters</a></td>
               <td>PrivateBytes</td></tr>
             <tr>
               <td>
               <a href="http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx">Process Explorer</a></td>
               <td>Virtual Memory : Private Bytes</td></tr>
             <tr>
               <td>Task Manager (Windows 7)</td>
               <td>Commit Size</td></tr>
             </table>
             </remarks>
        </member>
        <member name="P:Microsoft.Test.LeakDetection.MemorySnapshot.WorkingSetBytes">
             <summary>
             The current size of the <i>working set</i> of the process. The working set is the set of memory pages recently touched 
             by the threads in the process. If free memory in the computer is above a threshold, pages are left in the working set 
             of a process even if they are not in use.  When free memory falls below a threshold, pages are trimmed from working sets.
             If they are needed they will then be soft-faulted back into the working set before leaving main memory. 
             </summary>
            
             <remarks>
             <p> This metric is reported as follows by the other tools: </p> 
             <table style="font-size:xx-small" border="1" bordercolor="#CCCCCC" cellpadding="1" cellspacing="0">
             <tr><td><strong>Tool</strong></td><td><strong>Metric</strong></td></tr>
             <tr>
               <td>
               <a href="http://msdn.microsoft.com/en-us/library/aa373083(VS.85).aspx">Performance Counters</a></td>
               <td>WorkingSet</td></tr>
             <tr>
               <td>
               <a href="http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx">Process Explorer</a></td>
               <td>Physical Memory : Working Set</td></tr>
             <tr>
               <td>Task Manager (Windows 7)</td>
               <td>Working Set (Memory)</td></tr>
             </table>
             </remarks>
        </member>
        <member name="P:Microsoft.Test.LeakDetection.MemorySnapshot.WorkingSetPeakBytes">
             <summary>
             The maximum size, in bytes, of the working set of the process at any one time. 
             For more information see the <a href="http://msdn.microsoft.com/en-us/library/ms683219(VS.85).aspx">GetProcessMemoryInfo</a>
             function and the <a href="http://msdn.microsoft.com/en-us/library/ms684874(VS.85).aspx">PROCESS_MEMORY_COUNTERS_EX</a> structure.
             </summary>
            
             <remarks>
             <p> This metric is reported as follows by the other tools: </p> 
             <table style="font-size:xx-small" border="1" bordercolor="#CCCCCC" cellpadding="1" cellspacing="0">
             <tr><td><strong>Tool</strong></td><td><strong>Metric</strong></td></tr>
             <tr>
               <td>
               <a href="http://msdn.microsoft.com/en-us/library/aa373083(VS.85).aspx">Performance Counters</a></td>
               <td>WorkingSetPeak</td></tr>
             <tr>
               <td>
               <a href="http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx">Process Explorer</a></td>
               <td>Physical Memory : Peak Working Set</td></tr>
             <tr>
               <td>Task Manager (Windows 7)</td>
               <td>Peak Working Set (Memory)</td></tr>
             </table>
             </remarks>
        </member>
        <member name="P:Microsoft.Test.LeakDetection.MemorySnapshot.WorkingSetPrivateBytes">
             <summary>
             The size of the working set that is only used for the process and not shared nor shareable by other processes. 
             For more information see the <a href="http://msdn.microsoft.com/en-us/library/aa965225%28VS.85%29.aspx">Memory Performance Information</a> article.        
             </summary>
            
             <remarks>
             <p> This metric is reported as follows by the other tools: </p> 
             <table style="font-size:xx-small" border="1" bordercolor="#CCCCCC" cellpadding="1" cellspacing="0">
             <tr><td><strong>Tool</strong></td><td><strong>Metric</strong></td></tr>
             <tr>
               <td>
               <a href="http://msdn.microsoft.com/en-us/library/aa373083(VS.85).aspx">Performance Counters</a></td>
               <td>WorkingSetPrivate</td></tr>
             <tr>
               <td>
               <a href="http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx">Process Explorer</a></td>
               <td>Physical Memory : Working Set : WS Private</td></tr>
             <tr>
               <td>Task Manager (Windows 7)</td>
               <td>Memory (Private Working Set)</td></tr>
             </table>
                     
             </remarks>
        </member>
        <member name="T:Microsoft.Test.CommandLineParsing.CommandLineParser">
             <summary>
             Provides utilities for parsing command-line values.
             </summary>
             
             <example>
             The following example shows parsing of a command-line such as "Test.exe /verbose /runId=10"
             into a strongly-typed structure.
             <code>
             using System;
             using System.Linq;
             using Microsoft.Test.CommandLineParsing;
             
             public class CommandLineArguments
             {
                 public bool? Verbose { get; set; }
                 public int? RunId { get; set; }
             }
            
             public class Program
             {
                 public static void Main(string[] args)
                 {
                     CommandLineArguments a = new CommandLineArguments();
                     a.ParseArguments(args);  // or CommandLineParser.ParseArguments(a, args);
                     
                     Console.WriteLine("Verbose: {0}, RunId: {1}", a.Verbose, a.RunId);
                 }
             }
             </code>
             </example>
             
             <example>
             The following example shows parsing of a command-line such as "Test.exe RUN /verbose /runId=10"
             into a strongly-typed Command, that can then be excuted.
             <code>
             using System;
             using System.Linq;
             using Microsoft.Test.CommandLineParsing;
             
             public class RunCommand : Command
             {
                 public bool? Verbose { get; set; }
                 public int? RunId { get; set; }
            
                 public override void Execute()
                 {
                     Console.WriteLine("RunCommand: Verbose={0} RunId={1}", Verbose, RunId);  
                 }
             }
            
             public class Program
             {
                 public static void Main(string[] args)
                 {
                     if (String.Compare(args[0], "run", StringComparison.InvariantCultureIgnoreCase) == 0)
                     {
                         Command c = new RunCommand();
                         c.ParseArguments(args.Skip(1)); // or CommandLineParser.ParseArguments(c, args.Skip(1))
                         c.Execute();
                     }
                 }
             }
             </code>
             </example>
        </member>
        <member name="M:Microsoft.Test.CommandLineParsing.CommandLineParser.#cctor">
            <summary>
            Static constructor.
            </summary>
        </member>
        <member name="M:Microsoft.Test.CommandLineParsing.CommandLineParser.ParseArguments(System.Object,System.Collections.Generic.IEnumerable{System.String})">
            <summary>
            Sets properties on an object from a series of key/value string
            arguments that are in the form "/PropertyName=Value", where the
            value is converted from a string into the property type.
            </summary>
            <param name="valueToPopulate">The object to set properties on.</param>
            <param name="args">The key/value arguments describing the property names and values to set.</param>
            <returns>
            Indicates whether the properties were successfully set.  Reasons for failure reasons include
            a property name that does not exist or a value that cannot be converted from a string.
            </returns>
            <exception cref="T:System.ArgumentException">Thrown when one of the key/value strings cannot be parsed into a property.</exception>
        </member>
        <member name="M:Microsoft.Test.CommandLineParsing.CommandLineParser.MatchProperty(System.String,System.ComponentModel.PropertyDescriptorCollection,System.Type)">
            <summary>
            Match the property to the specified keyName
            
            If match cannot be found, throw an argument exception
            </summary>        
        </member>
        <member name="M:Microsoft.Test.CommandLineParsing.CommandLineParser.PrintUsage(System.Object)">
            <summary>
            Prints names and descriptions for properties on the specified component.
            </summary>
            <param name="component">The component to print usage for.</param>
        </member>
        <member name="M:Microsoft.Test.CommandLineParsing.CommandLineParser.PrintCommands(System.Collections.Generic.IEnumerable{Microsoft.Test.CommandLineParsing.Command})">
            <summary>
            Prints a general summary of each command.
            </summary>
            <param name="commands">A collection of possible commands.</param>
        </member>
        <member name="M:Microsoft.Test.CommandLineParsing.CommandLineParser.ToString(System.Object)">
            <summary>
            Creates a string that represents key/value arguments for the properties of the 
            specified object. For example, an object with a name (string) of "example" and a 
            priority value (integer) of 1 translates to '/name=example  /priority=1'. This 
            can be used to send data structures through the command line.
            </summary>
            <param name="valueToConvert">Value to create key/value arguments from.</param>
            <returns>Space-delimited key/value arguments.</returns>
        </member>
        <member name="M:Microsoft.Test.CommandLineParsing.CommandLineParser.FormatNamesAndDescriptions(System.Collections.Generic.IEnumerable{System.String},System.Collections.Generic.IEnumerable{System.String},System.Int32)">
            <summary>
            Given collections of names and descriptions, returns a set of lines
            where the description text is wrapped and left aligned. eg:
            First Name   this is a string that wraps around
                         and is left aligned.
            Second Name  this is another string.
            </summary>
            <param name="names">Collection of name strings.</param>
            <param name="descriptions">Collection of description strings.</param>
            <param name="maxLineLength">Maximum length of formatted lines</param>
            <returns>Formatted lines of text.</returns>
        </member>
        <member name="M:Microsoft.Test.CommandLineParsing.CommandLineParser.FromCommaSeparatedList``1(System.String)">
            <summary>
            Convert a comma separated list to a List of T. There must be a
            TypeConverter for the collection type that can convert from a string.
            "1,2,3" => List(int) containing 1, 2, and 3.
            Commas in the textual representation itself should be escaped with
            a blackslash, as should backslash itself.
            </summary>
            <typeparam name="T">Type of objects in the collection.</typeparam>
            <param name="commaSeparatedList">Comma separated list representation.</param>
            <returns>Collection of objects.</returns>
        </member>
        <member name="M:Microsoft.Test.CommandLineParsing.CommandLineParser.GetAttribute``1(System.Object)">
            <summary>
            Gets an attribute on the specified object instance.
            </summary>
            <typeparam name="T">Type of attribute to get.</typeparam>
            <param name="value">Object instance to look for attribute on.</param>
            <returns>First instance of the specified attribute.</returns>
        </member>
        <member name="M:Microsoft.Test.CommandLineParsing.CommandLineParser.WordWrap(System.String,System.Int32)">
            <summary>
            Word wrap text for a specified maximum line length.
            </summary>
            <param name="text">Text to word wrap.</param>
            <param name="maxLineLength">Maximum length of a line.</param>
            <returns>Collection of lines for the word wrapped text.</returns>
        </member>
        <member name="T:Microsoft.Test.CommandLineParsing.Command">
             <summary>
             Provides a base class for the functionality that all commands must implement.
             </summary>
             
             <example>
             The following example shows parsing of a command-line such as "Test.exe RUN /verbose /runId=10"
             into a strongly-typed Command, that can then be excuted.
             <code>
             using System;
             using System.Linq;
             using Microsoft.Test.CommandLineParsing;
             
             public class RunCommand : Command
             {
                 public bool? Verbose { get; set; }
                 public int? RunId { get; set; }
            
                 public override void Execute()
                 {
                     Console.WriteLine("RunCommand: Verbose={0} RunId={1}", Verbose, RunId);  
                 }
             }
            
             public class Program
             {
                 public static void Main(string[] args)
                 {
                     if (String.Compare(args[0], "run", StringComparison.InvariantCultureIgnoreCase) == 0)
                     {
                         Command c = new RunCommand();
                         c.ParseArguments(args.Skip(1)); // or CommandLineParser.ParseArguments(c, args.Skip(1))
                         c.Execute();
                     }
                 }
             }
             </code>
             </example>
        </member>
        <member name="M:Microsoft.Test.CommandLineParsing.Command.Execute">
            <summary>
            Executes the command.
            </summary>
        </member>
        <member name="P:Microsoft.Test.CommandLineParsing.Command.Name">
            <summary>
            The name of the command. The base implementation is to strip off the last
            instance of "Command" from the end of the type name. So "DiscoverCommand"
            would become "Discover". If the type name does not have the string "Command" in it, 
            then the name of the command is the same as the type name. This behavior can be 
            overridden, but most derived classes are going to be of the form [Command Name] + Command.
            </summary>
        </member>
        <member name="T:Microsoft.Test.ApplicationControl.AutomatedApplicationEventType">
            <summary>
            Specifies the supported AutomatedApplication events.
            </summary>
        </member>
        <member name="F:Microsoft.Test.ApplicationControl.AutomatedApplicationEventType.MainWindowOpenedEvent">
            <summary>
            The test application's main window opened event.
            </summary>
        </member>
        <member name="F:Microsoft.Test.ApplicationControl.AutomatedApplicationEventType.ApplicationExitedEvent">
            <summary>
            The test application's closed event.
            </summary>
        </member>
        <member name="F:Microsoft.Test.ApplicationControl.AutomatedApplicationEventType.FocusChangedEvent">
            <summary>
            The test application's main window's focus changed event.
            </summary>
        </member>
        <member name="T:Microsoft.Test.Text.SurrogatePairProperty">
            <summary>
            Collect surrogate pairs
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.SurrogatePairProperty.MINNUMOFCODEPOINT">
            <summary>
            Define minimum code point needed to have surrogate pair
            </summary>
        </member>
        <member name="M:Microsoft.Test.Text.SurrogatePairProperty.#ctor(Microsoft.Test.Text.UnicodeRangeDatabase,System.Collections.ObjectModel.Collection{Microsoft.Test.Text.UnicodeRange})">
            <summary>
            Define SurrogatePairProperty class
            <a href="http://www.unicode.org/charts/PDF/UD800.pdf">Newline</a>
            <a href="http://www.unicode.org/charts/PDF/UDC00.pdf">Newline</a>
            </summary>
        </member>
        <member name="M:Microsoft.Test.Text.SurrogatePairProperty.IsInPropertyRange(System.Int32)">
            <summary>
            Check if code point is in the property range
            </summary>
        </member>
        <member name="M:Microsoft.Test.Text.SurrogatePairProperty.GetRandomCodePoints(System.Int32,System.Int32)">
            <summary>
            Get random Surrogate pairs
            </summary>
        </member>
        <member name="T:Microsoft.Test.Text.NamespaceDoc">
            <summary>
            Contains types for the generation, manipulation and validation of strings and text, 
            for testing purposes.  
            </summary>
        </member>
        <member name="T:Microsoft.Test.ObjectComparison.ObjectGraphFactoryMap">
            <summary>
            Represents a map of {<see cref="T:System.Type"/> -&gt; <see cref="T:Microsoft.Test.ObjectComparison.ObjectGraphFactory"/>}.
            </summary>
            <remarks>
            <see cref="T:Microsoft.Test.ObjectComparison.ObjectGraphFactoryMap"/> works only with generic definitions of generic types.
            That is some operation on the map is invoked for the type <c>MyType&lt;int&gt;</c>
            that operation will be actually performed for <c>MyType&lt;T&gt;</c>.
            See <see cref="P:System.Type.IsGenericTypeDefinition"/> for more details.
            </remarks>
        </member>
        <member name="M:Microsoft.Test.ObjectComparison.ObjectGraphFactoryMap.#ctor(System.Boolean)">
            <summary>
            Constructs a new instaince of <see cref="T:Microsoft.Test.ObjectComparison.ObjectGraphFactoryMap"/>.
            </summary>
            <param name="exactTypeMatch">
            The value indicating whether exact type match should be performed. 
            If it equals <see lang="true"/> the type match is exact. That is, type B matches only
            type B and does not match any other type.
            If it equals <see lang="false"/>, types are matched based on their type compatibility. 
            That is, type B matches not only itself, but also any other type compatible with it. 
            E.g., type D, derived from B. That effectively allows factories to be registered 
            not only for types, but for interfaces as well. In case there is no exact match for a
            type, a factory for the 'closest' compatible type is chosen. That type is determined by 
            the following algorithm:
            <list type="number">
            <item>
                <description>
                The map is searched for all base type of the type in question (including <see cref="T:System.Object"/>) in
                the order of the inheritance chain. If the map contains an entry for a certain base type, the
                corresponding <see cref="T:Microsoft.Test.ObjectComparison.ObjectGraphFactory"/> is returned, if not the next step is taken.
                </description>
            </item>
            <item>
                <description>
                The map is searched for types of interfaces implemented by the type in question.
                If the map contains an entry for a certain interface the corresponding 
                <see cref="T:Microsoft.Test.ObjectComparison.ObjectGraphFactory"/> is returned. If no entries are found the 
                <see cref="T:System.Collections.Generic.KeyNotFoundException"/> is thrown. If more than one entry is found
                the <see cref="T:System.ArgumentException"/> is thrown.
                </description>
            </item>
            </list>
            </param>
        </member>
        <member name="M:Microsoft.Test.ObjectComparison.ObjectGraphFactoryMap.Add(System.Type,Microsoft.Test.ObjectComparison.ObjectGraphFactory)">
            <summary>
            Registers the specified object graph factory for the given type.
            </summary>
            <param name="key">The type to register the factory for.</param>
            <param name="value">The object graph factory to be registered.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="key"/> is null.
            </exception>
            <exception cref="T:System.ArgumentException">
            an element with the same key already exists in the <see cref="T:Microsoft.Test.ObjectComparison.ObjectGraphFactoryMap"/>
            </exception>
            <remarks>
            If <paramref name="key"/> is not a generic type definition, an entry for its corresponding
            generic type definition will be added (<see cref="P:System.Type.IsGenericTypeDefinition"/>).
            </remarks>
        </member>
        <member name="M:Microsoft.Test.ObjectComparison.ObjectGraphFactoryMap.ContainsKey(System.Type)">
            <summary>
            Determines whether the <see cref="T:Microsoft.Test.ObjectComparison.ObjectGraphFactoryMap"/> contains an 
            <see cref="T:Microsoft.Test.ObjectComparison.ObjectGraphFactory"/> for the specified key.
            </summary>
            <param name="key">
            The key to locate in the <see cref="T:Microsoft.Test.ObjectComparison.ObjectGraphFactoryMap"/>.</param>
            <returns>
            <see lang="true"/> if the <see cref="T:Microsoft.Test.ObjectComparison.ObjectGraphFactoryMap"/> contains 
            an <see cref="T:Microsoft.Test.ObjectComparison.ObjectGraphFactory"/> for the specified key; otherwise, 
            <see lang="false"/>.
            </returns>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="key"/> is null.
            </exception>
            <remarks>
            Note that search is always performed for generic type definitions of types. 
            That is if the type specified by <paramref name="key"/> is <c>MyType&lt;int&gt;</c>
            the actual search will be performed for <c>MyType&lt;T&gt;</c>.
            <para/>Note that if this method returns <see lang="true"/> for a given type,
            then <see cref="M:Microsoft.Test.ObjectComparison.ObjectGraphFactoryMap.TryGetValue(System.Type,Microsoft.Test.ObjectComparison.ObjectGraphFactory@)"/> or <see cref="P:Microsoft.Test.ObjectComparison.ObjectGraphFactoryMap.Item(System.Type)"/> 
            can thrown an <see cref="T:System.ArgumentException"/> exception for the same type if a non-exact
            type match is on and there are ambiguous entries in the map. 
            See <see cref="M:Microsoft.Test.ObjectComparison.ObjectGraphFactoryMap.TryGetValue(System.Type,Microsoft.Test.ObjectComparison.ObjectGraphFactory@)"/> for more details.
            </remarks>
        </member>
        <member name="M:Microsoft.Test.ObjectComparison.ObjectGraphFactoryMap.Remove(System.Type)">
            <summary>
            Removes the element with the specified key from the <see cref="T:Microsoft.Test.ObjectComparison.ObjectGraphFactoryMap"/>.
            </summary>
            <param name="key">The key of the element to remove.</param>
            <returns>
            <see lang="true"/> if the element is successfully removed; 
            otherwise, <see lang="false"/>.  
            This method also returns false if <paramref name="key"/> was not found in the original 
            <see cref="T:Microsoft.Test.ObjectComparison.ObjectGraphFactoryMap"/>.
            </returns>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="key"/> is <see lang="null"/>.
            </exception>
            <remarks>
            If <paramref name="key"/> is not a generic type definition, an entry for its corresponding
            generic type definition will be removed (<see cref="P:System.Type.IsGenericTypeDefinition"/>).
            </remarks>
        </member>
        <member name="M:Microsoft.Test.ObjectComparison.ObjectGraphFactoryMap.TryGetValue(System.Type,Microsoft.Test.ObjectComparison.ObjectGraphFactory@)">
            <summary>
            Gets the object graph factory associated with the given type.
            </summary>
            <param name="key">The type to get an object graph factory for.</param>
            <param name="value">The object graph factory for the specified type.</param>
            <returns>
            <see lang="true"/> if the map contains an object graph factory for the specified 
            type or a compatible type, depending on what kind of search was performed;
            otherwise, <see lang="false"/>.
            </returns>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="key"/> is <see lang="null"/>.
            </exception>
            <exception cref="T:System.ArgumentException">
            if the map does not contain any entries for base types of <paramref name="key"/>, but does
            contain entries for at least two interfaces implemented by <paramref name="key"/> and 
            those entries contain <see cref="T:Microsoft.Test.ObjectComparison.ObjectGraphFactory"/> of different types. Since
            no order applies to interface types, there is an ambiguity about which 
            <see cref="T:Microsoft.Test.ObjectComparison.ObjectGraphFactory"/> should be returned.
            </exception>
            <remarks>
            If <paramref name="key"/> is not a generic type definition, an entry for its corresponding
            generic type definition will be removed (<see cref="P:System.Type.IsGenericTypeDefinition"/>).
            </remarks>
        </member>
        <member name="M:Microsoft.Test.ObjectComparison.ObjectGraphFactoryMap.Add(System.Collections.Generic.KeyValuePair{System.Type,Microsoft.Test.ObjectComparison.ObjectGraphFactory})">
            <summary>
            Adds an item to the <see cref="T:Microsoft.Test.ObjectComparison.ObjectGraphFactoryMap"/>.
            </summary>
            <param name="item">
            The object to add to the <see cref="T:Microsoft.Test.ObjectComparison.ObjectGraphFactoryMap"/>.
            </param>
        </member>
        <member name="M:Microsoft.Test.ObjectComparison.ObjectGraphFactoryMap.Clear">
            <summary>
            Removes all items from the <see cref="T:Microsoft.Test.ObjectComparison.ObjectGraphFactoryMap"/>.
            </summary>
        </member>
        <member name="M:Microsoft.Test.ObjectComparison.ObjectGraphFactoryMap.Contains(System.Collections.Generic.KeyValuePair{System.Type,Microsoft.Test.ObjectComparison.ObjectGraphFactory})">
            <summary>
            Determines whether the <see cref="T:Microsoft.Test.ObjectComparison.ObjectGraphFactoryMap"/> contains a specific value.
            </summary>
            <param name="item">
            The object to locate in the <see cref="T:Microsoft.Test.ObjectComparison.ObjectGraphFactoryMap"/>.
            </param>
            <returns>
            true if <paramref name="item"/> is found in the <see cref="T:Microsoft.Test.ObjectComparison.ObjectGraphFactoryMap"/>; 
            otherwise, false.
            </returns>
        </member>
        <member name="M:Microsoft.Test.ObjectComparison.ObjectGraphFactoryMap.CopyTo(System.Collections.Generic.KeyValuePair{System.Type,Microsoft.Test.ObjectComparison.ObjectGraphFactory}[],System.Int32)">
            <summary>
            Copies <see cref="T:Microsoft.Test.ObjectComparison.ObjectGraphFactoryMap"/> entries to the specified array.
            </summary>
            <param name="array">The array to entries to.</param>
            <param name="arrayIndex">Strating index of the array.</param>
        </member>
        <member name="M:Microsoft.Test.ObjectComparison.ObjectGraphFactoryMap.Remove(System.Collections.Generic.KeyValuePair{System.Type,Microsoft.Test.ObjectComparison.ObjectGraphFactory})">
            <summary>
            Removes the first occurrence of a specific object from the <see cref="T:Microsoft.Test.ObjectComparison.ObjectGraphFactoryMap"/>.
            </summary>
            <param name="item">
            The object to remove from the <see cref="T:Microsoft.Test.ObjectComparison.ObjectGraphFactoryMap"/>.
            </param>
            <returns>
            true if <paramref name="item"/> was successfully removed from the 
            <see cref="T:Microsoft.Test.ObjectComparison.ObjectGraphFactoryMap"/>; otherwise, false. 
            This method also returns false if <paramref name="item"/> is not found in the original 
            <see cref="T:Microsoft.Test.ObjectComparison.ObjectGraphFactoryMap"/>.
            </returns>
        </member>
        <member name="M:Microsoft.Test.ObjectComparison.ObjectGraphFactoryMap.GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <returns>
            A <see cref="T:System.Collections.Generic.IEnumerator{KeyValuePair{Type,ObjectGraphFactory}}"/> 
            that can be used to iterate through the collection.
            </returns>
        </member>
        <member name="M:Microsoft.Test.ObjectComparison.ObjectGraphFactoryMap.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Returns an enumerator that iterates through a collection.
            </summary>
            <returns>
            An <see cref="T:System.Collections.IEnumerator"/> object that can be used to 
            iterate through the collection.
            </returns>
        </member>
        <member name="M:Microsoft.Test.ObjectComparison.ObjectGraphFactoryMap.TryGetValue(System.Type,Microsoft.Test.ObjectComparison.ObjectGraphFactory@,System.Boolean)">
            <summary>
            Tries to get an <see cref="T:Microsoft.Test.ObjectComparison.ObjectGraphFactory"/> for the specified type and optionally
            throws an exception in case of ambiguity.
            </summary>
        </member>
        <member name="P:Microsoft.Test.ObjectComparison.ObjectGraphFactoryMap.Keys">
            <summary>
            Gets a collection containing the types with registered <see cref="T:Microsoft.Test.ObjectComparison.ObjectGraphFactory"/>.
            </summary>
            <returns>
            A collection containing the types with registered <see cref="T:Microsoft.Test.ObjectComparison.ObjectGraphFactory"/>.
            </returns>
        </member>
        <member name="P:Microsoft.Test.ObjectComparison.ObjectGraphFactoryMap.Values">
            <summary>
            Gets a collection of registered object graph factories.
            </summary>
            <returns>
            A collection of registered object graph factories.
              </returns>
        </member>
        <member name="P:Microsoft.Test.ObjectComparison.ObjectGraphFactoryMap.Item(System.Type)">
            <summary>
            Gets or sets the factory for the specified type.
            </summary>
            <returns>
            The <see cref="T:Microsoft.Test.ObjectComparison.ObjectGraphFactory"/> for the specified key.
            </returns>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="key"/> is null.
            </exception>
            <exception cref="T:System.Collections.Generic.KeyNotFoundException">
            The property is retrieved and <paramref name="key"/> is not found.
            </exception>
            <exception cref="T:System.ArgumentException">
            if the map does not contain any entries for base types of <paramref name="key"/>, but does
            contain entries for at least two interfaces implemented by <paramref name="key"/> and 
            those entries contain <see cref="T:Microsoft.Test.ObjectComparison.ObjectGraphFactory"/> of different types. Since
            no order applies to interface types, there is an ambiguity about which 
            <see cref="T:Microsoft.Test.ObjectComparison.ObjectGraphFactory"/> should be returned.
            </exception>
        </member>
        <member name="P:Microsoft.Test.ObjectComparison.ObjectGraphFactoryMap.Count">
            <summary>
            Gets the number of elements contained in the <see cref="T:Microsoft.Test.ObjectComparison.ObjectGraphFactoryMap"/>.
            </summary>
            <returns>
            The number of elements contained in the <see cref="T:Microsoft.Test.ObjectComparison.ObjectGraphFactoryMap"/>.
              </returns>
        </member>
        <member name="P:Microsoft.Test.ObjectComparison.ObjectGraphFactoryMap.IsReadOnly">
            <summary>
            Gets a value indicating whether the <see cref="T:Microsoft.Test.ObjectComparison.ObjectGraphFactoryMap"/> is read-only.
            </summary>
            <returns>
            true if the <see cref="T:Microsoft.Test.ObjectComparison.ObjectGraphFactoryMap"/> is read-only; otherwise, false.
            </returns>
        </member>
        <member name="T:Microsoft.Test.Input.Keyboard">
            <summary>
            Exposes a simple interface to common keyboard operations, allowing the user to simulate keyboard input.
            </summary>
            <example>
            The following code types "Hello, world!" with the specified casing,
            and then types "hello, capitalized world!" which will be in all caps because
            the left shift key is being held down.
            <code>
            Keyboard.Type("Hello, world!");
            Keyboard.Type(Key.Enter);
            Keyboard.Press(Key.LeftShift);
            Keyboard.Type("hello, capitalized world!");
            Keyboard.Release(Key.LeftShift);
            </code>
            </example>
        </member>
        <member name="M:Microsoft.Test.Input.Keyboard.Press(Microsoft.Test.Input.Key)">
            <summary>
            Presses down a key.
            </summary>
            <param name="key">The key to press.</param>
        </member>
        <member name="M:Microsoft.Test.Input.Keyboard.Release(Microsoft.Test.Input.Key)">
            <summary>
            Releases a key.
            </summary>
            <param name="key">The key to release.</param>
        </member>
        <member name="M:Microsoft.Test.Input.Keyboard.Reset">
            <summary>
            Resets the system keyboard to a clean state.
            </summary>
        </member>
        <member name="M:Microsoft.Test.Input.Keyboard.Type(Microsoft.Test.Input.Key)">
            <summary>
            Performs a press-and-release operation for the specified key, which is effectively equivallent to typing.
            </summary>
            <param name="key">The key to press.</param>
        </member>
        <member name="M:Microsoft.Test.Input.Keyboard.Type(System.String)">
            <summary>
            Types the specified text.
            </summary>
            <remarks>
            Note that a combination of a combination of Key.Shift or Key.Capital and a Unicode point above 0xFE
            is not considered valid and will not result in the Unicode point being types without 
            applying of the modifier key.
            </remarks>
            <param name="text">The text to type.</param>
        </member>
        <member name="T:Microsoft.Test.FaultInjection.RuntimeContext">
            <summary>
            Stores information about a faulted method.
            </summary>
        </member>
        <member name="M:Microsoft.Test.FaultInjection.RuntimeContext.#ctor">
            <summary>
            Initializes a new instance of the RuntimeContext class.
            </summary>
        </member>
        <member name="P:Microsoft.Test.FaultInjection.RuntimeContext.CalledTimes">
            <summary>
            The number of times the method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Test.FaultInjection.RuntimeContext.CallStackTrace">
            <summary>
            The method's stack trace.
            </summary>
        </member>
        <member name="P:Microsoft.Test.FaultInjection.RuntimeContext.CallStack">
            <summary>
            An array of C#-style method signatures for each method on the call stack.
            </summary>
        </member>
        <member name="P:Microsoft.Test.FaultInjection.RuntimeContext.Caller">
            <summary>
            The C#-style method signature of the caller of the faulted method.
            </summary>
        </member>
        <member name="T:Microsoft.Test.FaultInjection.FaultSession">
             <summary>
             Maintains information needed for injecting faults into a test application. 
             For general information on fault injection see <a href="http://en.wikipedia.org/wiki/Fault_injection">this page</a>.
             </summary>
             <remarks>
             Users can launch the faulted application by calling GetProcessStartInfo(string) and calling Process.Start()
             with the returned ProcessStartInfo.
             </remarks>
             
             <example>
             The following example creates a new FaultSession with a single FaultRule and launches the application under test.
             <code>
             string sampleAppPath = "SampleApp.exe";
            
             FaultRule rule = new FaultRule(
                 "SampleApp.TargetMethod(string, string)",
                 BuiltInConditions.TriggerOnEveryCall,
                 BuiltInFaults.ReturnValueFault(""));
            
             FaultSession session = new FaultSession(rule);
             ProcessStartInfo psi = session.GetProcessStartInfo(sampleAppPath);
             Process.Start(psi);
             </code>
             </example>
             
             <example>
             The following example creates a new FaultSession with multiple FaultRules and launches the application under test.
             <code>
             string sampleAppPath = "SampleApp.exe";
            
             FaultRule[] ruleArray = new FaultRule[]
             {
                 new FaultRule(
                     "SampleApp.TargetMethod(string, string)",
                     BuiltInConditions.TriggerOnEveryCall,
                     BuiltInFaults.ReturnValueFault("")),
            
                 new FaultRule(
                     "SampleApp.TargetMethod2(string, int)",
                     BuiltInConditions.TriggerOnEveryCall,
                     BuiltInFaults.ReturnValueFault(Int32.MaxValue)),
            
                 new FaultRule(
                     "static SampleApp.StaticTargetMethod()",
                     BuiltInConditions.TriggerOnEveryNthCall(2),
                     BuiltInFaults.ThrowExceptionFault(new InvalidOperationException()))
             };     
            
             FaultSession session = new FaultSession(ruleArray);
             ProcessStartInfo psi = session.GetProcessStartInfo(sampleAppPath);
             Process.Start(psi);
             </code>
             </example>
             
             <example>The following example demonstrates how to modify a fault rule in an existing session.
             <code>
             ...
             string sampleAppPath = "SampleApp.exe";     
             FaultSession session = new FaultSession(rule);
             ...
            
             FaultRule foundRule = session.FindRule("SampleApp.TargetMethod(string, string)");
             if (foundRule != null)
             {
                 foundRule.Condition = BuiltInConditions.TriggerOnEveryNthCall(4);
                 session.NotifyRuleChanges();
             }
             ...
             </code>
             </example>
        </member>
        <member name="M:Microsoft.Test.FaultInjection.FaultSession.#ctor(Microsoft.Test.FaultInjection.FaultRule[])">
            <summary>
            Initializes a new instance of the FaultSession class with the specified FaultRule objects.
            </summary>
            <param name="rules">FaultRule objects defining how to fault the test application.</param>
            <exception cref="T:Microsoft.Test.FaultInjection.FaultInjectionException">Two FaultRule objects corresponding to the same method.</exception>
        </member>
        <member name="M:Microsoft.Test.FaultInjection.FaultSession.FindRule(System.String)">
            <summary>
            Finds the rule corresponding to a specified method.
            </summary>
            <param name="method">The signature of the method.</param>
            <returns>
            The FaultRule instance corresponding to the method specified. Returns null if no such rule exists.
            </returns>
        </member>
        <member name="M:Microsoft.Test.FaultInjection.FaultSession.NotifyRuleChanges">
            <summary>
            Notifies all test applications that fault rules have changed.
            </summary>
        </member>
        <member name="M:Microsoft.Test.FaultInjection.FaultSession.GetProcessStartInfo(System.String)">
            <summary>
            Creates a ProcessStartInfo with the appropriate environment variables set
            for fault injection.
            </summary>
            <param name="file">The path to the executable to launch.</param>
            <returns>The ProcessStartInfo object for the executable.</returns>
        </member>
        <member name="M:Microsoft.Test.FaultInjection.FaultSession.SetGlobalFault(Microsoft.Test.FaultInjection.FaultSession)">
            <summary>
            Sets a global fault session. This enables fault injection for all .NET
            processes launched after the creation of the global session. This functionality is often
            useful when testing server .NET  applications, where one application typically consists of
            and launches many processes.
            </summary>
        </member>
        <member name="M:Microsoft.Test.FaultInjection.FaultSession.ClearGlobalFault">
            <summary>
            Destroys the global fault session. 
            </summary>
        </member>
        <member name="P:Microsoft.Test.FaultInjection.FaultSession.LogDirectory">
            <summary>
            Directory for all log files written by applications launched by this session.
            </summary>
        </member>
        <member name="T:Microsoft.Test.CommandLineParsing.RequiredAttribute">
            <summary>
            Defines whether a property value is required to be specified.
            </summary>
        </member>
        <member name="M:Microsoft.Test.CommandLineParsing.RequiredAttribute.#ctor">
            <summary />
        </member>
        <member name="T:Microsoft.Test.ApplicationControl.IAutomatedApplicationImplFactory">
            <summary>
            Defines the contract for creating an IAutomatedApplicationImpl instance.
            </summary>
        </member>
        <member name="M:Microsoft.Test.ApplicationControl.IAutomatedApplicationImplFactory.Create(Microsoft.Test.ApplicationControl.ApplicationSettings,System.AppDomain)">
            <summary>
            Factory method for creating the IAutomatedApplicationImpl instance 
            to be used by AutomatedApplication.
            </summary>
            <param name="settings">The settings to be passed the the implementation instance.</param>
            <param name="appDomain">
            The AppDomain to create the implementation in.  This is intended for in-proc scenarios where
            the AutomatedApplication needs to create the proxy in a separate AppDomain.
            </param>
            <returns>Returns the application implementation to be used by AutomatedApplication</returns>
        </member>
        <member name="T:Microsoft.Test.ApplicationControl.AutomatedApplicationFocusChangedEventArgs">
            <summary>
            Represents the event args passed to AutomatedApplication focus changed events.
            </summary>
        </member>
        <member name="M:Microsoft.Test.ApplicationControl.AutomatedApplicationFocusChangedEventArgs.#ctor(Microsoft.Test.ApplicationControl.AutomatedApplication,System.Object)">
            <summary>
            Initializes a new instance of the AutomatedApplicationFocusChangedEventArgs
            class.
            </summary>
            <param name="automatedApp">
            The AutomatedApplication data to pass to the listeners.
            </param>
            <param name="newFocusedElement">
            The new focused element data to pass the listeners. This can be an AutomationElement 
            for an out-of-process scenario or a UIElement for an in-process WPF scenario.
            </param>
        </member>
        <member name="P:Microsoft.Test.ApplicationControl.AutomatedApplicationFocusChangedEventArgs.NewFocusedElement">
            <summary>
            The new focused element passed to the listeners.
            </summary>
        </member>
        <member name="T:Microsoft.Test.VisualVerification.SnapshotHistogramVerifier">
             <summary>
             Verifies a diffed image based on the number of pixels of a given brightness per color. 
             A tolerance Histogram curve can be created from an XML file, produced from a reference image, or manually created for use as a tolerance.
             <p/>
             For more information on histograms, refer to the description of <see cref="T:Microsoft.Test.VisualVerification.Histogram"/>.
             </summary>
            
             <example>
             This examples shows how to verify a snapshot against an expected master image, using
             a tolerance histogram.
             <code>
             Snapshot actual = Snapshot.FromRectangle(new Rectangle(0, 0, 800, 600));
             Snapshot expected = Snapshot.FromFile("Expected.bmp");
             Snapshot diff = actual.CompareTo(expected);
            
             SnapshotVerifier v = new SnapshotHistogramVerifier(Histogram.FromFile("ToleranceHistogram.xml"));
            
             if (v.Verify(diff) == VerificationResult.Fail)
             {
                 diff.ToFile("Actual.bmp", ImageFormat.Bmp);
             }
             </code>
             </example>
        </member>
        <member name="M:Microsoft.Test.VisualVerification.SnapshotHistogramVerifier.#ctor">
            <summary>
            Initializes a new instance of the SnapshotHistgramVerifier class, with the tolerance histogram curve initialized to zero tolerance for non-black values.
            </summary>
        </member>
        <member name="M:Microsoft.Test.VisualVerification.SnapshotHistogramVerifier.#ctor(Microsoft.Test.VisualVerification.Histogram)">
            <summary>
            Initializes a new instance of the SnapshotHistgramVerifier class, with the tolerance histogram curve initialized to the specified tolerance value.
            </summary>
            <param name="tolerance">The tolerance Histogram to use for verification.</param>
        </member>
        <member name="M:Microsoft.Test.VisualVerification.SnapshotHistogramVerifier.Verify(Microsoft.Test.VisualVerification.Snapshot)">
            <summary>
            Verifies a diffed image based on the number of pixels of a given brightness per color. 
            A tolerance Histogram curve can be created from an XML file, produced from a reference image, or manually created for use as a tolerance.
            </summary>
            <param name="image">The actual Snapshot to be verified.</param>
            <returns>A VerificationResult enumeration value based on the image, the expected color, and the tolerance.</returns>
        </member>
        <member name="P:Microsoft.Test.VisualVerification.SnapshotHistogramVerifier.Tolerance">
            <summary>
            The tolerance Histogram that is used to test snapshots; snapshots must produce a histogram which falls below this curve in order to pass.
            </summary>
        </member>
        <member name="T:Microsoft.Test.VisualVerification.ColorExtensions">
            <summary>
            Container for internal Extension methods on the Color type.
            </summary>
        </member>
        <member name="M:Microsoft.Test.VisualVerification.ColorExtensions.Compare(System.Drawing.Color,System.Drawing.Color)">
            <summary>
            Compares colors by producing an absolute valued Color Difference object
            </summary>
            <param name="color1">The first color</param>
            <param name="color2">The second colar</param>
            <returns>The Color Difference of the two colors</returns>
        </member>
        <member name="M:Microsoft.Test.VisualVerification.ColorExtensions.Subtract(System.Drawing.Color,System.Drawing.Color,System.Boolean)">
            <summary>
            Color differencing helper for snapshot comparisons.
            </summary>
            <param name="color1">The first color</param>
            <param name="color2">The second color</param>
            <param name="subtractAlpha">If set to false, the Alpha channel is overridden to full opacity, rather than the difference. 
            This is important for visualization, especially if both colors are fully opaque, as the difference produces a fully transparent difference.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Test.VisualVerification.ColorExtensions.Or(System.Drawing.Color,System.Drawing.Color)">
            <summary>
            Performs Bitwise OR of Color bits.
            </summary>
            <param name="color1">The first color.</param>
            <param name="color2">The second color.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Test.VisualVerification.ColorExtensions.And(System.Drawing.Color,System.Drawing.Color)">
            <summary>
            Performs Bitwise AND of Color bits.
            </summary>
            <param name="color1">The first color.</param>
            <param name="color2">The second color.</param>
            <returns></returns>
        </member>
        <member name="T:Microsoft.Test.VariationGeneration.VariationGenerator">
            <summary>
            The core generation engine. Takes in a model and transforms it into a table of all possible values that
            need to be covered or excluded. Uses that table to create variations and transforms that into the public
            <see cref="T:Microsoft.Test.VariationGeneration.Variation"/>
            </summary>
        </member>
        <member name="M:Microsoft.Test.VariationGeneration.VariationGenerator.GenerateVariations``1(Microsoft.Test.VariationGeneration.Model{``0},System.Int32,System.Int32)">
            <summary>
            Entry point to VariationGenerator
            </summary>
            <param name="model">The model</param>
            <param name="order">The order of the parameters (pairwise, 3-wise, etc)</param>
            <param name="seed">Random seed to use</param>
            <returns>Generated Variations</returns>
        </member>
        <member name="T:Microsoft.Test.VariationGeneration.Constraints.TaggedValueConstraint`1">
            <summary>
            Tagging values in a model creates implicit constraints (only one tagged value per variation).  This class
            explicitly defines those constraints.
            </summary>
        </member>
        <member name="T:Microsoft.Test.Theming.Theme">
             <summary>
             Enables changing of the Theme configuration of the system.
             </summary>
            
             <example>
             The following example demonstrates changing the OS theme to each available
             system theme to verify a control's appearance. 
            
             <code>
             Theme originalTheme = Theme.GetCurrent();
             
             try
             {
                 Theme[] availableThemes = Theme.GetAvailableSystemThemes();
                 foreach (Theme theme in availableThemes)
                 {
                     Theme.SetCurrent(theme);
                     VerifyMyControlAppearance(theme);
                 }
             }
             finally
             {
                 Theme.SetCurrent(originalTheme);
             }
             </code>
             </example>
        </member>
        <member name="M:Microsoft.Test.Theming.Theme.#ctor">
            <summary>
            No default constructor for Theme class
            </summary>
        </member>
        <member name="M:Microsoft.Test.Theming.Theme.#ctor(System.IO.FileInfo)">
            <summary>
            Constructor that takes a file and retrieves the rest
            of the info directly from the theme file.
            </summary>        
        </member>
        <member name="M:Microsoft.Test.Theming.Theme.GetCurrent">
            <summary>
            Returns the current OS theme.
            </summary>
            <returns>Returns the current OS theme.</returns>
        </member>
        <member name="M:Microsoft.Test.Theming.Theme.SetCurrent(Microsoft.Test.Theming.Theme)">
            <summary>
            Sets the current OS theme with the given theme parameter.
            </summary>
            <param name="theme">The theme to set the OS theme to.</param>
        </member>
        <member name="M:Microsoft.Test.Theming.Theme.SetCurrent(System.IO.FileInfo)">
            <summary>
            Sets the current OS theme with the given fileInfo parameter.
            </summary>
            <param name="fileInfo">The fileInfo to set the theme to.</param>
        </member>
        <member name="M:Microsoft.Test.Theming.Theme.GetAvailableSystemThemes">
            <summary>
            Returns all the available system themes on the OS.
            </summary>
            <returns>Returns all the available system themes</returns>
        </member>
        <member name="M:Microsoft.Test.Theming.Theme.MonitorProcess(System.String,System.String)">
            <remarks>
            For the case of OS versons below 6.1 the process for setting
            the theme is as follows:
            
            1. launch the .theme file
            2. wait for the new rundll32 to start.
            3. press enter to select the theme and close the dialog
            </remarks>
        </member>
        <member name="M:Microsoft.Test.Theming.Theme.SetThemeThroughExplorer(System.String)">
            <remarks>
            For the case of OS versons 6.1 and above the process for setting
            the theme is as follows:
            
            1. launch the .theme file (theme is automatically selected)
            2. wait for explorer to launch the 'personalization' child window 
            3. close the 'personalization' window
            
            Unlike MonitorProcess, explorer.exe is already running and a subwindow is launched for
            this process.  
            </remarks>
        </member>
        <member name="P:Microsoft.Test.Theming.Theme.Name">
            <summary>
            Gets the theme name.
            </summary>
        </member>
        <member name="P:Microsoft.Test.Theming.Theme.Path">
            <summary>
            Gets the path of the theme.  
            </summary>
            <remarks>
            Should be of type *.theme.
            </remarks>
        </member>
        <member name="P:Microsoft.Test.Theming.Theme.Style">
            <summary>
            Gets the color style of the theme.
            </summary>
        </member>
        <member name="P:Microsoft.Test.Theming.Theme.IsEnabled">
            <summary>
            Gets the IsEnabled state of the theme.
            </summary>
        </member>
        <member name="T:Microsoft.Test.Theming.NamespaceDoc">
            <summary>
            Contains facilities for system themes configuration. 
            </summary>
        </member>
        <member name="T:Microsoft.Test.Text.UnicodeRange">
            <summary>
            Represents a Unicode range.<para/> 
            A UnicodeRange instance can be created by either providing start and end of the 
            desired Unicode range or by providing a <see cref="T:Microsoft.Test.Text.UnicodeChart"/>.
            </summary>
        </member>
        <member name="M:Microsoft.Test.Text.UnicodeRange.#ctor(Microsoft.Test.Text.UnicodeChart)">
            <summary>
            Create a UnicodeRange instance, using the provided UnicodeChart Enum type. 
            </summary>
            <param name="chart">Group name of scripts, symbols or punctuations (e.g. "European Scripts", "Punctuation", etc.)</param>
        </member>
        <member name="M:Microsoft.Test.Text.UnicodeRange.#ctor(System.Int32,System.Int32)">
            <summary>
            Create a UnicodeRange instance, using the provided start and end of the Unicode range 
            </summary>
            <param name="start">Start of the Unicode range (e.g. 0x0000, etc.)</param>
            <param name="end">End of the Unicode range (e.g. 0xFFFF, etc.)</param>
        </member>
        <member name="M:Microsoft.Test.Text.UnicodeRange.#ctor(Microsoft.Test.Text.UnicodeRange)">
            <summary>
            Copy constructor
            </summary>
            <param name="range">A UnicodeRange object to be copied</param>
        </member>
        <member name="P:Microsoft.Test.Text.UnicodeRange.StartOfUnicodeRange">
            <summary>
            Get the start of the Unicode range
            </summary>
        </member>
        <member name="P:Microsoft.Test.Text.UnicodeRange.EndOfUnicodeRange">
            <summary>
            Get the end of the Unicode range
            </summary>
        </member>
        <member name="T:Microsoft.Test.Text.BidiProperty">
            <summary>
            Bidi Unicode range property
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.BidiProperty.bidiDictionary">
            <summary>
            Dictionary to store Bidi control code points for RegExp use
            </summary>
        </member>
        <member name="F:Microsoft.Test.Text.BidiProperty.MINNUMOFCODEPOINT">
            <summary>
            Define minimum code points need to be a bidi string
            </summary>
        </member>
        <member name="M:Microsoft.Test.Text.BidiProperty.#ctor(Microsoft.Test.Text.UnicodeRangeDatabase,System.Collections.ObjectModel.Collection{Microsoft.Test.Text.UnicodeRange})">
            <summary>
            Define SurrogatePairDictionary class
            <a href="http://unicode.org/reports/tr9/">Newline</a>
            </summary>
        </member>
        <member name="M:Microsoft.Test.Text.BidiProperty.InitializeBidiDictionary(System.Collections.ObjectModel.Collection{Microsoft.Test.Text.UnicodeRange})">
            <summary>
            Dictionary to store code points corresponding to culture.
            </summary>
        </member>
        <member name="M:Microsoft.Test.Text.BidiProperty.IsInPropertyRange(System.Int32)">
            <summary>
            Check if code point is in the property range
            </summary>
        </member>
        <member name="M:Microsoft.Test.Text.BidiProperty.GetRandomCodePoints(System.Int32,System.Int32)">
            <summary>
            Get random bidi string
            </summary>
        </member>
        <member name="T:Microsoft.Test.LeakDetection.MemorySnapshotCollection">
            <summary>
            A collection of MemorySnapshots that can be serialized to an XML file.
            </summary>
            
            <example>
            The following example demonstrates taking multiple memory snapshots of Notepad 
            and saving them on disk for later analysis.
            <code>
            MemorySnapshotCollection c = new MemorySnapshotCollection();     
            
            Process p = Process.Start("notepad.exe");
            p.WaitForInputIdle(5000);
            MemorySnapshot s1 = MemorySnapshot.FromProcess(p.Id);
            c.Add(s1);
            
            // Perform operations that may cause a leak...
            
            MemorySnapshot s2 = MemorySnapshot.FromProcess(p.Id);
            c.Add(s2);
            
            c.ToFile(@"MemorySnapshots.xml");
            
            p.CloseMainWindow();
            p.Close();
            </code>
            </example>
            
            <example>
            A MemorySnapshotCollection can also be loaded from a XML file.
            <code>
            MemorySnapshotCollection c = MemorySnapshotCollection.FromFile(@"MemorySnapshots.xml");
            </code>
            </example>
        </member>
        <member name="M:Microsoft.Test.LeakDetection.MemorySnapshotCollection.FromFile(System.String)">
            <summary>
            Creates a MemorySnapshotCollection instance from data in the specified file.
            </summary>
            <param name="filePath">The path to the MemorySnapshotCollection file.</param>
            <returns>A MemorySnapshotCollection instance, containing memory information recorded in the specified file.</returns>
        </member>
        <member name="M:Microsoft.Test.LeakDetection.MemorySnapshotCollection.ToFile(System.String)">
            <summary>
            Writes the current MemorySnapshotCollection to a file.
            </summary>
            <param name="filePath">The path to the output file.</param>
        </member>
        <member name="T:Microsoft.Test.Input.MouseButton">
            <summary>
            Defines values that specify the buttons on a mouse device.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.MouseButton.Left">
            <summary>
            The left mouse button.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.MouseButton.Middle">
            <summary>
            The middle mouse button.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.MouseButton.Right">
            <summary>
            The right mouse button.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.MouseButton.XButton1">
            <summary>
            The first extended mouse button.
            </summary>
        </member>
        <member name="F:Microsoft.Test.Input.MouseButton.XButton2">
            <summary>
            The second extended mouse button
            </summary>
        </member>
    </members>
</doc>
